David.Ko

          Follow my heart!
          posts - 100, comments - 11, trackbacks - 0, articles - 0
             :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          bat 批處理命令(轉(zhuǎn))

          Posted on 2007-10-28 18:59 David.Ko 閱讀(631) 評(píng)論(0)  編輯  收藏 所屬分類: 安全
          bat 批處理命令 文件 類型 語(yǔ)法 格式 應(yīng)用 詳解
          2007-04-23 13:04

                如何創(chuàng)建批處理文件?

              不要聽(tīng)了批處理文件就感到很神氣,其實(shí)這東西很簡(jiǎn)單的.你用過(guò)記事本沒(méi)有?用過(guò)? 好的.將記事本打開(kāi),什么都不用寫(xiě),然后選擇文件,保存.保存類型選擇所有文件,文件名則命名為?。産at 這個(gè)*代表是文件名,你可以隨便的起.保存好之后,看看你保存的地方,會(huì)出現(xiàn)一個(gè)白色窗口里有個(gè)黃色齒輪的圖標(biāo).這東西就是你創(chuàng)建的批處理文件,雙擊他就可以運(yùn)行,但他現(xiàn)在由于里面沒(méi)有輸入任何命令,所以他運(yùn)行了并不會(huì)做任何事情.當(dāng)我們想往這個(gè)*.bat文件中添加?xùn)|西時(shí),只要右鍵選擇他,然后選擇編輯,就可以打開(kāi)記事本往內(nèi)輸入命令了.

            批處理文件中的命令是什么?

            批處理文件中的命令暫時(shí)先可以理解為dos命令,等稍后深入理解了以后再進(jìn)行解釋.批處理顧名思義就是一大堆東西堆在一起處理.換句話說(shuō)就是往里面寫(xiě)一條條dos命令,然后按順序挨個(gè)執(zhí)行,效果跟你在cmd里敲dos命令是一個(gè)效果.只不過(guò)用批處理寫(xiě)好之后,要運(yùn)行只要雙擊下就可以運(yùn)行了.而不用再一遍一遍的重復(fù)的往里面打命令.這就是批處理文件的好處.

            除了運(yùn)行dos命令之外,他還可以支持選擇結(jié)構(gòu)if,循環(huán)結(jié)構(gòu)for,goto等,與c有點(diǎn)類似,但遠(yuǎn)沒(méi)有c全面,并且編寫(xiě)語(yǔ)言十分不規(guī)范.

            批處理語(yǔ)法:

          先講個(gè)最基本的東西 @echo off

            echo的意思是回旋,這里的意思就是回顯,echo off意思就是關(guān)閉回顯.前面的@表示echo off 這一行也不會(huì)回顯你可以試著去掉@和整行去掉.@的另一個(gè)功能是在執(zhí)行完批處理文件時(shí)自動(dòng)恢復(fù)命令回顯。如果第一句用的是ECHO OFF,那么在執(zhí)行完批處理文件以后不會(huì)顯示命令提示符。

          舉個(gè)例子:如果我們先創(chuàng)建一個(gè)1.bat文件,往里面輸入:

          dir 然后保存在c:\下.然后我們運(yùn)行cmd,進(jìn)入c盤(pán)根目錄下,輸入1.bat,則顯示:

          C:\>dir
          驅(qū)動(dòng)器 C 中的卷沒(méi)有標(biāo)簽。
          卷的序列號(hào)是 0C5D-07FF

          C:\ 的目錄

          2004-08-25   00:45     <DIR>           WINDOWS
          2004-08-25   00:51     <DIR>           Documents and Settings

          ...........

          C:\

          如果將1.bat內(nèi)容修改成

          echo off

          dir

          然后再在cmd里輸入1.bat,則會(huì)顯示

          C:\>echo off       //因?yàn)檫\(yùn)行了echo off,所以沒(méi)有顯示dir命令,直接顯示了結(jié)果
          驅(qū)動(dòng)器 C 中的卷沒(méi)有標(biāo)簽。
          卷的序列號(hào)是 0C5D-07FF

          C:\ 的目錄

          2004-08-25   00:45     <DIR>           WINDOWS
          2004-08-25   00:51     <DIR>           Documents and Settings

          .....

          C:\

          如果將1.bat文件修改成:

          @echo off
          dir

          則顯示成:

          C:\>1.bat          //與前面不同,并沒(méi)有顯示echo off,原因是加了@,所以不顯示@后面的內(nèi)容.又因?yàn)榧?/font>

                  //了echo off,所以后面的命令不顯示,直接顯示結(jié)果
          驅(qū)動(dòng)器 C 中的卷沒(méi)有標(biāo)簽。
          卷的序列號(hào)是 0C5D-07FF

          C:\ 的目錄

          2004-08-25   00:45     <DIR>           WINDOWS
          2004-08-25   00:51     <DIR>           Documents and Settings

          ....

          C:\

          通過(guò)以上的比較,相信你對(duì)echo off命令已經(jīng)充分掌握了.現(xiàn)在已經(jīng)1點(diǎn)了...寫(xiě)得累?。。?!洗澡睡覺(jué)去了

          ----------------------

          早晨6點(diǎn)就被拉起來(lái)了...我命苦啊,那么繼續(xù)寫(xiě)吧

          ----------------------

          接下來(lái)講的是call命令

          call是打電話的call,而不是"喔靠"的靠:).call的意思為調(diào)用.假如有2個(gè)批處理文件a.bat和b.bat.如果我想運(yùn)行a.bat的當(dāng)中運(yùn)行b.bat.如何運(yùn)行呢?其實(shí)很簡(jiǎn)單,只要在a.bat文件中輸入call命令,則可以在a.bat運(yùn)行的當(dāng)中,運(yùn)行b.bat,等b.bat運(yùn)行完之后,繼續(xù)執(zhí)行a.bat

          call命令格式:

          CALL [drive:][path]filename [batch-parameters]

             batch-parameters    指定批處理程序所需的命令行信息。

          舉例如下,我們?cè)赾盤(pán)根目錄下創(chuàng)建a.bat文件,內(nèi)容為:

          echo this is a.bat

          call d:\b.bat

          echo done

          然后在d盤(pán)根目錄下創(chuàng)建b.bat,內(nèi)容為:

          echo this is b.bat

          保存后,打開(kāi)cmd,進(jìn)入c盤(pán)根目錄,然后輸入1.bat,顯示如下:

          C:\>a.bat

          C:\>echo this is a.bat
          this is a.bat

          C:\>call d:\b.bat

          C:\>echo this is b.bat
          this is b.bat

          C:\>echo done
          done

          由例子很容易看出來(lái),是先運(yùn)行a.bat的內(nèi)容,直到遇到call b.bat后,則調(diào)用b.bat,運(yùn)行完b.bat后,再返回a.bat接著運(yùn)行call b.bat后面的echo done語(yǔ)句,直至將a.bat的所有批處理命令運(yùn)行完.

          注:里面有個(gè)[batch-parameters]里面的所指的參數(shù)是什么,知道的朋友能否告知,不勝感激.

          PAUSE 命令

          暫停批處理程序的執(zhí)行并顯示一條消息,提示用戶按任意鍵繼續(xù)執(zhí)行。只能在批處理程序中使用該命令。

          rem命令:

          表示此命令后的字符為解釋行(注釋),不執(zhí)行,只是給自己今后參考用的(相當(dāng)于程序中的注釋).

          同時(shí)你可以用兩個(gè)冒號(hào)來(lái)替代rem.如: ::等同于一個(gè)rem.但他們有個(gè)區(qū)別,就是用::作注釋的話他是不回顯的,即使你打echo on強(qiáng)制回顯也沒(méi)有同的.同時(shí)rem可以在config.sys中加注釋.

          語(yǔ)法: rem[commnet]

          批處理文件參數(shù):

          有點(diǎn)變成基礎(chǔ)的人都知道函數(shù)有參數(shù).批處理文件也有參數(shù).

          我打個(gè)比方,希望能幫助沒(méi)有語(yǔ)言基礎(chǔ)的人也能看的非常明白. 

          我從例子里開(kāi)始吧.首先在c盤(pán)根目錄下創(chuàng)建一個(gè)批處理文件 a.bat,里面輸入內(nèi)容

          echo %1

          然后打開(kāi)cmd,然后進(jìn)入c盤(pán)根目錄.輸入:a "this is a canshu"

          得到結(jié)果如下:

          C:\>a.bat "this is a test"

          C:\>echo "this is a test"
          "this is a test"

            輸入的a "this is a canshu"中,a為新建的a.bat的文件名a(后面的.bat可寫(xiě)也可不寫(xiě)),而a后面的 "this is a canshu"這句話就是參數(shù),寫(xiě)在這的參數(shù),在程序運(yùn)行中就將參數(shù)自動(dòng)放到批處理程序中去.那么放在什么位置呢?就是放在 %1的地方.

            看了例子,讓我們看看整個(gè)關(guān)于參數(shù)的定義如何:

            批處理文件還可以像C語(yǔ)言的函數(shù)一樣使用參數(shù)(相當(dāng)于DOS命令的命令行參數(shù)),這需要用到一個(gè)參數(shù)表示符"%"。
            %[1-9]表示參數(shù),參數(shù)是指在運(yùn)行批處理文件時(shí)在文件名后加的以空格(或者Tab)分隔的字符串。變量可以從%0到%9,%0表示批處理命令本身,其它參數(shù)字符串用%1到%9順序表示。
          //我們上個(gè)程序的例子里就有%1,他就是參數(shù),而輸入中"this is a test"作為參數(shù)就直接放到%1的位置,于是程序就變成了 echo "this is a test".

            再舉幾個(gè)例子幫助你理解:

          C:根目錄下一批處理文件名為b.bat,內(nèi)容為:
          @echo off
          type %1     //type為dos中的輸出命令,可以用來(lái)輸出文本文件的內(nèi)容,比如我們新建一個(gè)1.txt文件

                   //里面輸入內(nèi)容,保存.進(jìn)cmd,如果輸入1.txt則看不了1.txt文件內(nèi)容,但是如果我

                   //想看怎么辦呢?這時(shí)候可以用type命令,只要在cmd里輸入type?。保畉xt就能顯示

                   //1.txt文件中的內(nèi)容了 
          type %2

          那么運(yùn)行C:\>b a.txt b.txt
          %1 : 表示a.txt
          %2 : 表示b.txt

          于是上面的批處理命令就變成了

          @echo off

          type a.txt

          type b.txt
          于是上面的命令將順序地顯示a.txt和b.txt文件的內(nèi)容。

          沒(méi)有編程基礎(chǔ)的人可能要問(wèn),干什么要弄個(gè)參數(shù)???在后面加個(gè)參數(shù)多麻煩啊?直接往里面寫(xiě)不就好了啊?!其實(shí)這樣想有對(duì)的方面也有錯(cuò)的方面.還是舉個(gè)例子說(shuō)明吧.

          第一步還是在c盤(pán)根目錄下新建一個(gè)批處理文件,我們?nèi)∶詾閍.bat.往里面的內(nèi)容輸入為:

          ping %1  //ping命令可以簡(jiǎn)單理解為測(cè)試一臺(tái)機(jī)器開(kāi)著還是沒(méi)有開(kāi),如果開(kāi)著的話,他就回給你回送回應(yīng).

          然后進(jìn)cmd,我們想測(cè)試下163的服務(wù)器是不是開(kāi)著,則輸入a www.163.com

            對(duì)于知道ping命令的人,可以打ping進(jìn)行檢查,但如果想ping的人不知道ping命令怎么用,那怎么辦啊?這時(shí)候你就可以把命令預(yù)先輸入到批處理文件中,保存好,然后讓不會(huì)用的人進(jìn)cmd,運(yùn)行你的批處理文件,文件名后面加上他要ping 的網(wǎng)站地址就行了.換句話說(shuō),他想ping 163就直接加163的網(wǎng)址,想ping sina就直接加sina的網(wǎng)址.這樣只要輸入一個(gè)參數(shù),而不用改程序本身,整個(gè)程序的通用性就大大提高了.

            這是對(duì)于一個(gè)簡(jiǎn)單的ping命令,你或許覺(jué)得用參數(shù)不值得,還是直接改不就好了啊.但如果程序有很多條,你一下找不到在哪改怎么辦???所以,不管你是菜哥,菜弟,菜姐,菜妹,只要運(yùn)行下,輸入?yún)?shù),結(jié)果自己就會(huì)出來(lái),不用再象你一樣,考慮怎么編寫(xiě)批處理文件.人家只要知道是輸入什么東西能讓批處理程序運(yùn)行,而編寫(xiě)的人則想的是如何讓不懂程序的人能運(yùn)行程序.

            批處理參數(shù)就這么簡(jiǎn)單,不知道你理解了沒(méi)有?但如果你想深一步了解批處理參數(shù),可以接著往下看,如果不想深入了解,知道現(xiàn)在這么多也就夠了.

          以下粉紅色內(nèi)容為網(wǎng)上資料.

          ====================================

            因?yàn)閰?shù)只有1%-9%,但當(dāng)我們要引用第十個(gè)或更多個(gè)參數(shù)時(shí), 就必須移動(dòng)DOS 的參數(shù)起始指針. shift 命令正充當(dāng)了這個(gè)移動(dòng)指針的角色, 它將參數(shù)的起始指針移動(dòng)到下一個(gè)參數(shù), 類似C 語(yǔ)言中的指針操作. 圖示如下:

          初始狀態(tài), cmd 為命令名, 可以用 %0 引用
          cmd arg1 arg2 arg3 arg4 arg5 arg6 arg7 arg8 arg9 arg10
          ^      ^        ^      ^       ^       ^       ^       ^       ^       ^
          &line;        &line;         &line;       &line;         &line;        &line;        &line;         &line;        &line;        &line;
          %0   %1     %2    %3    %4    %5    %6     %7    %8    %9

          經(jīng)過(guò)1次shift后, cmd 將無(wú)法被引用
          cmd arg1 arg2 arg3 arg4 arg5 arg6 arg7 arg8 arg9 arg10
          ^      ^        ^      ^       ^       ^       ^       ^       ^       ^
          &line;        &line;         &line;       &line;         &line;        &line;        &line;         &line;        &line;        &line;
          %0   %1     %2    %3    %4    %5    %6     %7    %8    %9

          經(jīng)過(guò)2次shift后, arg1也被廢棄, %9指向?yàn)榭? 沒(méi)有引用意義
          cmd arg1 arg2 arg3 arg4 arg5 arg6 arg7 arg8 arg9 arg10
          ^      ^        ^      ^       ^       ^       ^       ^       ^       ^
          &line;        &line;         &line;       &line;         &line;        &line;        &line;         &line;        &line;        &line;
          %0   %1     %2    %3    %4    %5    %6     %7    %8    %9

          遺憾的是, win9x 和DOS下均不支持 shift 的逆操作. 只有在 nt 內(nèi)核命令行環(huán)境下, shift 才支持 /n 參數(shù), 可以以第一參數(shù)為基準(zhǔn)返復(fù)移動(dòng)起始指針.
          =================

          if goto choice for高級(jí)語(yǔ)法

          今天就寫(xiě)到這吧,我收拾收拾東西準(zhǔn)備滾蛋回學(xué)校了.可能if goto choice for高級(jí)語(yǔ)法要在沈陽(yáng)才能完成了,祝我好運(yùn)吧.

          ======================

          學(xué)校的"網(wǎng)吧"終于算重新開(kāi)張了,抓緊時(shí)間把剩下的寫(xiě)完

          if命令

          說(shuō)得通俗點(diǎn),if就相當(dāng)于我們白話里的如果.

          舉個(gè)例子:如果a喜歡b,那么a就要娶b. 這句話翻譯成計(jì)算機(jī)語(yǔ)言就成了

          if a喜歡b a就要娶b.

          當(dāng)然拉,計(jì)算機(jī)不可能理解a喜歡b,a就要娶b這兩句話,這里只是舉個(gè)例子讓你方便理解.

          if語(yǔ)句一共有3種模式,如下:


          IF [NOT] string1==string2 command
          IF [NOT] EXIST filename command
          IF [NOT] ERRORLEVEL number command

           NOT                指定只有條件為 false 的情況下, Windows XP 才應(yīng)該執(zhí)行該命令。

           ERRORLEVEL number 如果最后運(yùn)行的程序返回一個(gè)等于或大于指定數(shù)字的退出編碼,指定條件為 true。

           string1==string2   如果指定的文字字符串匹配,指定條件為 true。

           EXIST filename     如果指定的文件名存在,指定條件為 true。

           command            如果符合條件,指定要執(zhí)行的命令。如果指定的條件為 FALSE,命令后可跟一個(gè)執(zhí)行 ELSE關(guān)鍵字后的命令的 ELSE 命令。

          我們先講解第一種:

          IF [NOT] string1==string2 command

          自然語(yǔ)句意思:如果string1==string2,那么執(zhí)行command

          下面再舉個(gè)能實(shí)際應(yīng)用的if語(yǔ)句.

          自然語(yǔ)句:如果輸入的參數(shù)為3,那么顯示"a=3"

          計(jì)算機(jī)語(yǔ)句:

          @echo off
          if "%1"=="3" echo "a=3"

          或者寫(xiě)成

          @echo off
          if %1==3 echo "a=3"

          注意:當(dāng)要測(cè)試的時(shí)候,因在cmd底下,輸入1.bat 3.因?yàn)檫@里用了是傳遞參數(shù),具體看文章前部分"批處理文件參數(shù)".

          第二種:

          IF [NOT] EXIST filename command

          這條命令用語(yǔ)檢測(cè)文件是否存在.如果存在,執(zhí)行command.如果不存在,則什么也不顯示.

          如:我們想檢查e盤(pán)根目錄下是否有一個(gè)叫2.txt的文件.如果存在,則顯示exist.如果不存在,則什么也不顯示.

          批處理命令如下:

          @echo off
          if exist e:\2.txt echo "exist 2.txt"

          第三種:

          IF [NOT] ERRORLEVEL number command

          這個(gè)我引用點(diǎn)資料,感覺(jué)別人寫(xiě)得更詳細(xì),引用部分為粉色字部分:

          if errorlevel <數(shù)字> 待執(zhí)行的命令

          很多DOS程序在運(yùn)行結(jié)束后會(huì)返回一個(gè)數(shù)字值用來(lái)表示程序運(yùn)行的結(jié)果(或者狀態(tài)),通過(guò)if errorlevel命令可以判斷程序的返回值,根據(jù)不同的返回值來(lái)決定執(zhí)行不同的命令(返回值必須按照從大到小的順序排列)。如果返回值等于指定的數(shù)字,則條件成立,運(yùn)行命令,否則運(yùn)行下一句。

          如if errorlevel 2 goto x2

          ==== 注 ===========
          返回值從大到小的順序排列不是必須的, 而只是執(zhí)行命令為 goto 時(shí)的習(xí)慣用法, 當(dāng)使用 set 作為執(zhí)行命令時(shí), 通常會(huì)從小到大順序排列, 比如需將返回碼置入環(huán)境變量, 就需使用以下的順序形式:

          if errorlevel 1 set el=1
          if errorlevel 2 set el=2
          if errorlevel 3 set el=3
          if errorlevel 4 set el=4
          if errorlevel 5 set el=5
          ...

          當(dāng)然, 也可以使用以下循環(huán)來(lái)替代, 原理是一致的:
          for %%e in (1 2 3 4 5 6 7 8...) do if errorlevel %%e set el=%%e
          //此處為一個(gè)for循環(huán),后面會(huì)繼續(xù)                        介紹到的,看不懂可以先跳過(guò)去

          if errorlevel 比較返回碼的判斷條件并非等于, 而是大于等于. 由于 goto 的跳轉(zhuǎn)特性, 由小到大排序會(huì)導(dǎo)致在較小的返回碼處就跳出; 而由于 set命令的 "重復(fù)" 賦值特性, 由大到小排序會(huì)導(dǎo)致較小的返回碼 "覆蓋" 較大的返回碼.

          另外, 雖然 if errorlevel=<數(shù)字> command 也是有效的命令行, 但也只是 command.com 解釋命令行時(shí)將 = 作為命令行切分符而忽略掉罷了

          choice命令

          ????

          goto命令

          for命令

          for命令其實(shí)就是一個(gè)循環(huán)命令,如果我們想重復(fù)一個(gè)語(yǔ)句,就可以用for命令.通過(guò)for命令,可以控制循環(huán)的次數(shù)等.

          語(yǔ)法:

          FOR %variable IN (set) DO command [command-parameters]

             %variable   指定一個(gè)單一字母可替換的參數(shù)。
             (set)       指定一個(gè)或一組文件??梢允褂猛ㄅ浞?。
             command     指定對(duì)每個(gè)文件執(zhí)行的命令。
             command-parameters
                        為特定命令指定參數(shù)或命令行開(kāi)關(guān)。

          在批處理文件中使用 FOR 命令時(shí),指定變量請(qǐng)使用 %%variable
          而不要用 %variable。變量名稱是區(qū)分大小寫(xiě)的,所以 %i 不同于 %I.

            不知道你你看懂了沒(méi)有,其實(shí)還是很容易理解的,還是舉個(gè)例子吧.我想用type打印所有c盤(pán)根目錄下的bat文件和txt文件.dos底下命令就是 type *.bat?。?txt.先將該文件保存在c盤(pán)根目錄下,名稱為a.bat

          用for命令如下:

          for %%t in (*.bat *.txt) do type %%t

          %%t其實(shí)就是代表的一個(gè)參數(shù),他的內(nèi)容在in() 里面括號(hào)里的內(nèi)容.也就是說(shuō)這句話里的%%t就變成了*.bat *.txt了.do就是做的意思,執(zhí)行type命令,而type后面是%%t,而%%t又是*.bat *.txt.所以原來(lái)這句命令的意思就變成了:

          type *.bat *.txt

          執(zhí)行時(shí)進(jìn)cmd,然后到c盤(pán)根目錄下輸入a.bat就可以打印出c盤(pán)根目錄下所有擴(kuò)展名為.bat和.txt的文件內(nèi)容了.

          這里要注意:in后面有個(gè)空格.

           

          在xp底下,for命令擴(kuò)展名被起用因此for的功能變得更加強(qiáng)大.下面講一個(gè)真正的循環(huán).


          FOR /L %variable IN (start,step,end) DO command [command-parameters]

               該集表示以增量形式從開(kāi)始到結(jié)束的一個(gè)數(shù)字序列。
               因此,(1,1,5) 將產(chǎn)生序列 1 2 3 4 5,(5,-1,1) 將產(chǎn)生
               序列 (5 4 3 2 1)

          里面第一個(gè)1在start的位置,意思是起始位置,第2個(gè)1在step位置,英文意思是跨步,在這里面的意思是每次增量為1.后面的5在end的位置,意思是結(jié)束時(shí)的大小.

          這句話的意思就是從1(start)開(kāi)始增加,每次增加1(step),一直到變到5(end)為止.

          這個(gè)有什么用呢?其實(shí)我感覺(jué)這個(gè)東西的用處還是很大的.舉個(gè)最簡(jiǎn)單的例子,我們想重復(fù)回顯"i am the best"這句話,重復(fù)顯示10遍.那么for命令如下:

          for /L %%e in (1,1,10) do echo "i am the best"

          這時(shí),cmd就會(huì)重復(fù)輸入"i am the best"10遍.

          ===============================================

          看完整篇文章了嗎?咳...我寫(xiě)的不容易啊....

          現(xiàn)在不知道你對(duì)bat有了什么樣的理解,我現(xiàn)在的感覺(jué)就是bat就是dos命令的組合,你把dos命令全寫(xiě)進(jìn)bat命令,只要運(yùn)行下bat就會(huì)挨個(gè)執(zhí)行dos命令,這無(wú)疑提供了不少的方便。

          下面我再舉些實(shí)例.

          刪除默認(rèn)共享:

          對(duì)于默認(rèn)共享不知道你了解多少,反正留著是個(gè)隱患,現(xiàn)在唯一的辦法好象只能做個(gè)bat文件進(jìn)行刪除.命令如下:

          net share ipc$ /delete
          net share admin$ /delete
          net share c$ /delete
          net share d$ /delete
          net share e$ /delete

          ……

          里面的c d e為你的盤(pán)符。如果你只有一個(gè)分區(qū),那么寫(xiě)到net share c$ /delete為止就可以了。如果你有n個(gè)分區(qū),那么就挨個(gè)寫(xiě)下去。

          net share d$ /delete
          net share e$ /delete

          net share f$ /delete

          net share g$ /delete……

          登陸到局域網(wǎng)的機(jī)器快捷方式(對(duì)方機(jī)器有密碼且為2000或以上系統(tǒng))

          net use \\192.168.0.1 [密碼] /user:[用戶名]
          explorer \\192.168.0.1

          bat文件備份注冊(cè)表

          set regfile=%date%    //設(shè)置變量,下面出現(xiàn)%regfile%的都自動(dòng)替換“當(dāng)天date”

          if exist "%regfile%" goto end    //如果發(fā)現(xiàn)當(dāng)天date命名的目錄,跳到文件尾。
          md temp        //建temp目錄


          call 1.bat       //調(diào)用1.bat
          del   1.bat          
          ren 2.bat 1.bat
          ren 3.bat 2.bat
          ren 4.bat 3.bat
          echo move   "%regfile%"   temp >4.bat   //寫(xiě) 移動(dòng)“當(dāng)天date命名的目錄”到temp的bat文件   。

          md "%regfile%"    //建當(dāng)天date命名的目錄
          cd "%regfile%"   //進(jìn)入

          reg export hkcu hkcu.reg    //導(dǎo)出注冊(cè)表
          reg export hklm hklm.reg   
                                         //HKEY_CURRENT_USER   縮寫(xiě)hkcu 。存放當(dāng)前用戶個(gè)人數(shù)據(jù)
                                         //HKEY_LOCAL_MACHINE   縮寫(xiě)hklm 。系統(tǒng)的核心數(shù)據(jù)
          cd..
          deltree /y   temp >nul         ////返回上級(jí)目錄   ,刪temp文件夾
          :end

          主站蜘蛛池模板: 新龙县| 房产| 阿拉善右旗| 肇庆市| 蓬安县| 垦利县| 新乐市| 新化县| 卓尼县| 阿坝| 闵行区| 南阳市| 德格县| 蒲城县| 宜宾县| 哈密市| 古浪县| 皋兰县| 金溪县| 集贤县| 柳河县| 永仁县| 三明市| 桃园县| 邵阳县| 河东区| 湖州市| 澜沧| 南昌市| 山阴县| 泸定县| 凤翔县| 阿巴嘎旗| 恩施市| 揭西县| 平乐县| 赤水市| 平南县| 梧州市| 安阳市| 信宜市|