close
1.discardfile ‘XXX.DSC’ 當不符合when 的邏輯才會寫入到檔案當中。
2. 批次程式 (也稱為批次檔) 可簡化例行或重複性高的工作。
「批次程式」是未經格式化的文字檔,其內含一至多項的指令,並會以 .bat 或 .cmd 作為副檔名。當在命令提示字元上鍵入該檔名時,檔案中的指令便會依序執行。
批次檔中可以包含任何指令。而 for、goto 及 if 指令更可讓您在批次檔中,有條件地處理指令。例如,if 指令可根據條件的結果執行指令。其他的指令則可讓您控制輸入、輸出及呼叫其他的批次程式。至於可替換的參數 %,則可擴充批次指令檔的引數變數。
Rem
可讓您在批次檔或設定檔案中包含註解或說明。
rem [comment]
參數
comment
指定要當成註解的字串。
範例
下例顯示使用說明及垂直間距來加上註解的批次檔:
@echo off
rem This batch program formats and checks new disks.
rem It is named Checknew.bat.
rem
echo Insert new disk in drive B.
pause
format b:/v
chkdsk b:
假設您要在 prompt 指令之前的 Config.nt 檔案中包含說明註解。若要做這樣的處理,請將下列數行新增到 Config.nt 中:
rem Set prompt to indicate current directory
prompt $p$g
Call
從其他批次程式呼叫批次程式,而不會造成父系批次程式停止。call 指令已可接受標籤作為呼叫目標。
call [drive:][path] filename [batch-parameters]
call :label [arguments]
參數
[drive:][path] filename
指定所要呼叫之批次程式的位置及名稱。filename 參數的副檔名必須是 .bat 或 .cmd。
批次參數
指定批次程式所需的指令行資訊。請參閱 arguments 參數中 batch-parameters 的相關資訊。
:label
指 定批次程式控制跳往的標籤。您可以將 call 指令與此參數搭配使用,建立新的批次檔內容,並將控制傳遞給指定標籤之後的敘述式。在第一次執行到批次檔的尾端 (跳到標籤之後) 時,控制會傳回 CALL 敘述式之後的敘述式。而在第二次執行到批次檔的尾端時,批次指令檔便會結束。關於可以讓您從批次指令檔傳回之 goto :eof 延伸的描述,請按一下 [相關主題] 清單中的 goto。
Call
範例
若要從其他批次程式執行 Checknew.bat 程式,請將下列指令納入父系批次程式中:
call checknew
假設父系批次程式可接受兩個可替換參數,且您希望該程式能夠將這兩項參數傳給 Checknew.bat,您可以在父系批次程式中使用下列指令:
call checknew %1 %2
出處: 批次檔語法 - 年年歲歲花相似-歲歲年年人不同 - udn部落格 http://blog.udn.com/abnerming/2027251#ixzz1QXvPPO4P
2. 批次程式 (也稱為批次檔) 可簡化例行或重複性高的工作。
「批次程式」是未經格式化的文字檔,其內含一至多項的指令,並會以 .bat 或 .cmd 作為副檔名。當在命令提示字元上鍵入該檔名時,檔案中的指令便會依序執行。
批次檔中可以包含任何指令。而 for、goto 及 if 指令更可讓您在批次檔中,有條件地處理指令。例如,if 指令可根據條件的結果執行指令。其他的指令則可讓您控制輸入、輸出及呼叫其他的批次程式。至於可替換的參數 %,則可擴充批次指令檔的引數變數。
Rem
可讓您在批次檔或設定檔案中包含註解或說明。
rem [comment]
參數
comment
指定要當成註解的字串。
範例
下例顯示使用說明及垂直間距來加上註解的批次檔:
@echo off
rem This batch program formats and checks new disks.
rem It is named Checknew.bat.
rem
echo Insert new disk in drive B.
pause
format b:/v
chkdsk b:
假設您要在 prompt 指令之前的 Config.nt 檔案中包含說明註解。若要做這樣的處理,請將下列數行新增到 Config.nt 中:
rem Set prompt to indicate current directory
prompt $p$g
Call
從其他批次程式呼叫批次程式,而不會造成父系批次程式停止。call 指令已可接受標籤作為呼叫目標。
call [drive:][path] filename [batch-parameters]
call :label [arguments]
參數
[drive:][path] filename
指定所要呼叫之批次程式的位置及名稱。filename 參數的副檔名必須是 .bat 或 .cmd。
批次參數
指定批次程式所需的指令行資訊。請參閱 arguments 參數中 batch-parameters 的相關資訊。
:label
指 定批次程式控制跳往的標籤。您可以將 call 指令與此參數搭配使用,建立新的批次檔內容,並將控制傳遞給指定標籤之後的敘述式。在第一次執行到批次檔的尾端 (跳到標籤之後) 時,控制會傳回 CALL 敘述式之後的敘述式。而在第二次執行到批次檔的尾端時,批次指令檔便會結束。關於可以讓您從批次指令檔傳回之 goto :eof 延伸的描述,請按一下 [相關主題] 清單中的 goto。
Call
範例
若要從其他批次程式執行 Checknew.bat 程式,請將下列指令納入父系批次程式中:
call checknew
假設父系批次程式可接受兩個可替換參數,且您希望該程式能夠將這兩項參數傳給 Checknew.bat,您可以在父系批次程式中使用下列指令:
call checknew %1 %2
出處: 批次檔語法 - 年年歲歲花相似-歲歲年年人不同 - udn部落格 http://blog.udn.com/abnerming/2027251#ixzz1QXvPPO4P
全站熱搜
留言列表