Bat - 概說 By When SunTea

Home Home
引用 | 編輯 qsz44182
2012-02-19 15:20
樓主
推文 x1
批次檔案(Batch File)通稱批次處理程式(Batch Program),這一點與編譯型語言有所不同,就C語言來說,副檔名為C或者Cpp的檔可以稱之為C語言檔或者C語言源代碼,但只有編譯連接後的exe檔才可以稱之為C語言程式。因為批次檔案本身既具有文本的可讀性,又具有程式的可執行性
這些稱謂的界限是比較模糊的。


每個批次檔案等於一個DOS的外部指令,可以把它所在的目錄放到你的要搜索路徑(又稱Path)中所以它幾乎可以在任意位置執行。


通常是在硬碟上建立一個bat(例如D:\MyBat.bat),然後將所有你編寫的批次檔案放到該目錄中
這樣只要在Path中設定上C:\Windows(或 %Windir% %SystemRoot%),你就可以在任意位置執行所有你編寫的批次處理程式。




以下是他的指令:


1. @ 並非命令,是批次處理的特殊標記符號,用於遮罩命令行回顯。


2. :: 可以起到rem的注釋作用,且更簡潔有效,但有兩點需要注意...


第一.除了 :: 之外,任何以 : 開頭的字元行,在批次處理中被視作標號,而直接忽略後面的內容
只是為了與正常的標號相區別,建議使用 goto 所無法識別的標號,即在 : 後緊跟一個非字母數位元的一個特殊符號。




第二.與 Rem 不同的是, :: 後的字元行在執行時不會回顯,無論是否用 echo on 打開命令行回顯狀態
因為命令解釋器不認為他是一個有效的命令行,就此來看, Rem 在某些場合下將比 :: 更為適用,且 Rem 可以用於 Config.sys 中。


3. ECHO


當程式執行時,顯示或隱藏批次處理程式中的正文,也可用於允許或禁止命令的回顯。


在執行批次處理程式時,MS-DOS一般在螢幕上顯示(回顯)批次處理程式中的命令。 
使用ECHO命令可關閉此功能。


方法


ECHO   / EX: @echo on


若要用echo命令顯示一條命令,可用下述語法:


echo   /EX:echo Hello!!


參數


ON|OFF
指定是否允許命令的回顯,若要顯示當前的ECHO的設定,可使用不帶參數的ECHO命令。


Message 
指定讓MS-DOS在螢幕上顯示


4.CALL


從一個批次處理程式中調用另一個批次處理程式,而不會引起第一個批次處理的中止。


語法


CALL filename


參數


filename
指定要調用的批次處理程式的名字及其存放處。檔案名必須用.BAT作副檔名。


5.PAUSE


暫停批次處理程式的執行並顯示一條消息,提示用戶按任意鍵繼續執行。只能在批處 
理程式中使用該命令。


語法


PAUSE   /這會顯示文字
PAUSE>NUL   /這不會顯示文字


6.IF 是條件語句,用來判斷是否符合規定的條件,從而決定執行不同的命令。 有三種格式:


一、if "參數" == "字串" 待執行的命令


參數如果等於(not表示不等,下同)指定的字串,則條件成立,執行命令,否則執行下一句


例:if "%1"=="a" goto emd


7.GOTO 批次檔案執行到這裏將跳到goto所指定的標號(標號即label,標號用:後跟標準字串來定義)處,goto語句一般與IF配合使 ..

訪客只能看到部份內容,免費 加入會員



獻花 x1