一、什么是批處理文件?
批處理文件(,簡稱BAT文件)是一種在DOS下最常用的可執行文件。它具有靈活的操縱性,可適應各種復雜的計算機操作(指在DOS下)。所謂的批處理,就是按規定的順序自動執行若干個指定的DOS命令或程序。即是把原來一個一個執行的命令匯總起來,成批的執行。
二、bat常用命令
echo、@、call、pause、rem是批處理文件最常用的幾個命令,我們就從他們開始學起。
1.Echo:表示顯示此命令后的字符;
作用顯示或隱藏屏幕顯示,在屏幕上顯示文本信息。
使用方法|OFF使整個屏幕顯示或不顯示
2.:表示在此語句后所有運行的命令都不顯示命令行本身。
3.@:@與相象,但它是加在其它命令行的最前面,表示運行時不顯示命令行本身。
@使一句語句不在屏幕上顯示
例:@(使整個屏幕不顯示,包括該語句本身)
例:echo這句話將顯示在屏幕上
4.call:調用另一條批處理文件(如果直接調用別的批處理文件,執行完那條文件后將無法執行當前文件后續命令);
5.pause:運行此句會暫停,顯示e...等待用戶按任意鍵后繼續; 作用 暫停命令的執行,主要用于BAT的調試階段。暫停時可按ctrl+break或ctrl+c來停止BAT的執行。
使用方法PAUSE
例:PAUSE[文本信息](暫停并顯示文本信息)
6.rem:表示此命令后的字符為解釋行,不執行,只是給自己今后查找用的;
作用給命令加上注釋,使一句語句失去作用
使用方法REM[注釋語句]
例:*.*(不執行刪除命令)
7.%0-%9批處理參數:
作用 代替命令中的參數
使用方法[批處理參數1][批處理參數2]···
例:有批處理文件名為GO。BAT,清單如下
@
cd%1
當鍵入文件名及參數c:\時goc:\
則效果等同于cdc:\
8.:::
作用 它是注釋命令,在批處理腳本中和rem命令等效。它后面的內容在執行時不顯示,也不起任何作用,因為它只是注釋bat批處理中數組的使用方法介紹,只是增加了腳本的可讀性,和C語言中的/*.......*/類似。地球人都能看懂,就不多說了。
9.SHIFT:
作用更新批處理參數所代替的命令參數,每運行一次,命令參數前移一位。
使用方法shift
例:有批處理文件名為DEMO。BAT,清單如下:
@
if"%1"=""(有關if語句,參見下文)
rem判斷%1所代表的是否為空,為空則轉到end語句
dir%1
Shift
:end
當鍵入demoa:b:c:d:時,效果為列A、B、C、D四個磁盤的目錄
10.GOTO:
作用轉到指定段。
使用方法goto
例:(轉到start段,其中start為段名,須加":"以便和命令名相區別。)
11.IF:
作用用于條件判斷
使用方法1.IF[NOT]EXIST
2.IF[NOT]=
3.(N)
作用1.如果(不)存在所選文件則執行所帶命令
2.如果字符串1(不)等于字符串2,則執行所帶命令
3.如果命令執行后的錯誤等級碼是(不是)N,那么執行所帶命令。
例:1..(如果demo.bat文件存在,顯示)
2.if"x"="1"(如果x=1,顯示)
3.dluck(如果錯誤碼為2,顯示)
12.FOR:
作用用一個臨時參數代替括號中的對象
使用方法
例:for%%din(a:b:)%%d(效果等同于格式化A盤和B盤)
13.SET:
作用設置環境變量
使用方法set=
例:setff=45(使變量ff的值為45)
14.:
作用為進行交互式選擇提供手段。
使用方法[/c:字母][/n][/s][/t:字母,秒數][說明信息]
[/c:/字母]:指定那些字母用于選擇操作,每個字母之間用逗號隔開。缺省為y,n
[/n]:不顯示供選擇的字母
[/s:]:對輸入的字母區分大小寫
[/t:字母,秒數]:限定選擇所用的秒數(0-99)過時則以指定的字母作為選擇
[說明信息]:顯示其后的信息用于說明
和if的第三種用法可配合使用,具體方法是,當你選第一個字母時,為1,第二個為二···
例:[/c:a,b,c]
三、批處理BAT命令詳解--shift
批處理文件中可引用的參數為%0~%9,%0是指批處理文件的本身,也可以說是一個外部命令;%1~%9是批處理參數,也稱形參;而替換形參的實參若超過了批處理文件中所規定數值(9個)且想在批處理文件中應用這些實參的話,shift命令可以幫你實現!
Shift命令:更改批處理文件中可替換參數的位置
C代碼
[/n]
n的取值是[0,8],且為整數;[/n]為可選參數,當賦予n某個值時bat批處理中數組的使用方法介紹,就意味著命令從第n個參數開始移位;當n賦予的值為0,1或不帶有任何命令選項的shift時,則表示批處理文件中替換參數左移一個位置,后面的替換參數陸續填補上去,直至可替換參數為空。
eg:創建批處理文件d:\test.bat;
C代碼
2@
3cls
4echo%1%2%3%4%5%6%7%8%9
/0
6echo%1%2%3%4%5%6%7%8%9
/1
8echo%1%2%3%4%5%6%7%8%9
/2
%1%2%3%4%5%6%7%8%9
/3
%1%2%3%4%5%6%7%8%9
/4
%1%2%3%4%5%6%7%8%9
/5
%1%2%3%4%5%6%7%8%9
/6
%1%2%3%4%5%6%7%8%9
/7
%1%2%3%4%5%6%7%8%9
/8
%1%2%3%4%5%6%7%8%9
>nul
然后在命令提示符d:\下輸入......17顯示執行結果,就知曉其中的規律啦!
C代碼
24D:\>
25
3213
31314
四、批處理BAT命令及外部命令
1、dir
含義:顯示指定路徑上所有文件或目錄的信息
格式:dir[盤符:][路徑][文件名][參數]
參數:
/w:寬屏顯示,一排顯示5個文件名,而不會顯示修改時間,文件大小等信息;
/p:分頁顯示,當屏幕無法將信息完全顯示時,可使用其進行分頁顯示;
/a:顯示具有特殊屬性的文件;
/s:顯示當前目錄及其子目錄rd下所有的文件。
舉例:dir/p
將分屏顯示當前目錄下文件。在當前屏最后有一個“e...”提示,表示按任意鍵繼續。
2、cd
含義:進入指定目錄
格式:cd[路徑]
舉例:cddos
cd命令只能進入當前盤符中的目錄,其中“cd\”為返回到根目錄,“cd..”為返回到上一層目錄。
3、md
含義:建立目錄
格式:md[盤符][路徑]
舉例:
表示在當前盤符下建立一個名為temp的目錄。
4、rd
含義:刪除目錄
格式:rd[盤符][路徑]
舉例:
表示刪除當前路徑下的temp目錄,需要注意的是,此命令只能刪除空目錄。
5、copy
含義:拷貝文件
格式:copy[源目錄或文件][目的目錄或文件]
舉例1:copyc:\*.comd:\",表示將c盤根目錄下所有擴展名為com的文件拷貝到d盤根目錄中。
舉例2:copyc:\.batc:\.bak
表示將.bat文件復制成為擴展名為bak的文件。輸入dir命令,可以發現此變化。
6、del
含義:刪除文件
格式:del[盤符][路徑][文件名][參數]
舉例:delc:\*.bak/p
表示刪除當前目錄下所有擴展名為bak的文件,參數/p表示可以使用戶在刪除多個文件時對每個文件都顯示刪除詢問。
7、sys
含義:傳遞系統文件命令。格式:sys[源盤符][目的盤符]
舉例:sysc:a:
此命令將為a盤傳送系統,傳送成功后,a盤將成為系統啟動盤。
常用的外部命令
dos的外部命令就是一些應用程序,這些外部命令都是以文件的形式存在,系統的dos外部命令保存在主目錄下的目錄中。下面來介紹幾個常用的dos外部命令。
1、edit
含義:簡單的編輯軟件,可以用它來編輯一些程序和批處理文件。
格式:edit[盤符][文件名]
舉例:editc:\.bat
輸入此命令后將打開編輯器。在編輯狀態下輸入文件內容后,按alt+f鍵激活file菜單,按向下的箭頭選擇退出(exit),提示是否要保存剛才輸入的內容,如果要保存,只需輸入y或者直接回車即可。
2、
含義:格式化命令,可以完成對軟盤和硬盤的格式化操作。
格式:[盤符][參數]
舉例::/s/q
此命令將格式化a盤,其中參數/q表示進行快速格式化,/s表示完成格式化后將系統引導文件拷貝到該磁盤,這樣軟件就可以作為dos系統啟動盤了。格式化過程中,屏幕上會顯示已經完成的百分比。格式化完成后,會提示為磁盤起一個名字,最后還會報告磁盤的總空間和可利用空間等。
3、xcopy
含義:拷貝命令
格式:xcopy[源路徑][源目錄/文件名][目的目錄/文件名][參數]
舉例::\abcd:\/s
執行此命令后,將把c:\abc目錄及其目錄中的文件全部拷貝到d盤根目錄下,xcopy是copy的增強命令,可以實現對多個子目錄進行拷貝。最常用的參數是/s,它可以對一個目錄下的所有子目錄進行拷貝。
4、
含義:刪除目錄樹
格式:[盤符][路徑]舉例:
表示刪除當前路徑下的are子目錄,執行后會提示是否確認刪除,按下y,即可刪除。
命令">dos命令
dos命令大全
注意!dos命令不區分大小寫,比如C盤的,在dos命令中完全可以用""代替,加上英文引號是因為名稱的中間有空格(即多于一個詞),這一點是初學者經常忽略的。
目錄操作類">目錄操作類命令
(一)md——建立子目錄
1.功能:創建新的子目錄
2.類型:內部命令
3.格式:md[盤符:][路徑名]〈子目錄名〉
4.使用說明:
(1)“盤符”:指定要建立子目錄的磁盤驅動器字母,若省略,則為當前驅動器;
(2)“路徑名”:要建立的子目錄的上級目錄名,若缺省則建在當前目錄下。
例:(1)在c盤的根目錄下創建名為fox的子目錄;(2)在fox子目錄下再創建user子目錄。
c:\>mdfox(在當前驅動器c盤下創建子目錄fox)
c:\>mdfox\user(在fox子目錄下再創建user子目錄)
(二)cd——改變當前目錄
1.功能:顯示當前目錄
2.類型:內部命令
3.格式:cd[盤符:][路徑名][子目錄名]
4.使用說明:
(1)如果省略路徑和子目錄名則顯示當前目錄;
(2)如采用“cd\”格式,則退回到根目錄;
(3)如采用“cd..”格式則退回到上一級目錄。
例:(1)進入到user子目錄;(2)從user子目錄退回到子目錄;(3)返回到根目錄。
c:\>cdfox\user(進入fox子目錄下的user子目錄)
c:\fox\user>cd..(退回上一級根目錄,注意cd后面跟著兩個點"..")。
c:\fox>cd\(返回到根目錄)
c:\
(三)rd——刪除子目錄命令
1.功能:從指定的磁盤刪除了目錄。
2.類型:內部命令
3.格式:rd[盤符:][路徑名][子目錄名]
4.使用說明:
(1)子目錄在刪除前必須是空的,也就是說需要先進入該子目錄,使用del(刪除文件的命令)將其子目錄下的文件刪空,然后再退回到上一級目錄,用rd命令刪除該了目錄本身;
(2)不能刪除根目錄和當前目錄。
例:要求把c盤fox子目錄下的user子目錄刪除,操作如下:
第一步:先將user子目錄下的文件刪空;
c\>delc:\fox\user\*.*或delc:\fox\user或delc:\fox\user\*
(注:這樣只能刪除文件,仍然不能刪除user目錄下的文件夾)
第二步,刪除user子目錄。
c\>rdc:\fox\user
(注:如果fox\user文件夾下仍有文件夾,這一步將不會奏效,怎樣解決呢?其實不必勞煩兩步,直接這樣c\>rdc:\fox\user/s
加上了一個參數/s,如果不想讓系統詢問是否刪除,可以再加一個參數/p。
(四)dir——顯示磁盤目錄命令
1.功能:顯示磁盤目錄的內容。
2.類型:內部命令
3.格式:dir[盤符][路徑][/p][/w]
4.使用說明:/p的使用;當欲查看的目錄太多,無法在一屏顯示完屏幕會一直往上卷,不容易看清,加上/p參數后,屏幕上會分面一次顯示23行的文件信息,然后暫停,并提示;e
/w的使用:加上/w只顯示文件名,至于文件大小及建立的日期和時間則都省略。加上參數后,每行可以顯示五個文件名。
(五)path——路徑設置命令
1.功能:設備可執行文件的搜索路徑,只對文件有效。
2.類型:內部命令
3.格式:path[盤符1]目錄[路徑名1]{[;盤符2:],〈目錄路徑名2〉…}