掌握批處理文件的創建與編輯方法
命令行使用copy con命令創建批處理文件(適用創建短小的命令)
使用edit命令創建批處理文件(只有在XP之前才有)
使用edit命令編輯批處理文件
使用記事本(NotePad)創建批處理文件
全面了解批處理文件命令的語法與功能
echo語法命令及應用
? ??echo [{on|off}] [message]? ? on:允許顯示回顯命令,off:靜止回顯命令,message:在屏幕上顯示的信息。
? ? echo可以控制其他命令是否回顯,但是無法控制echo命令本身。
@語法命令及應用
? ? @:禁止當前命令回顯在屏幕上。
pause語法命令及應用
? ? pause:暫停批處理的運行,并給出一個提示,由用戶決定是否執行。
call語法命令及應用
? ? call:可以從當前批處理命令中調用其他批處理命令,并可以從指定標號中調用所有命令
? ? call [[Drive:][Path] Filename [BatchParameters]] [[:label][arguments]]? ?盤符,路徑,文件名,一組參數,當當前調用文件的路徑與運行文件的路徑在相同路徑下是,盤符與路徑可以省略,label用于指定調用位置的標簽,標簽后的命令。
rem語法命令及應用
? ? rem注釋命令
set語法命令及應用
? ?用于自定義變量,用于創建,設置,查看環境變量,對于復雜的批處理文件,set命令必不可少。
? ? set[[/a [expression]] [/p [variable=]] string], /a將string設置成可以求值的數字表達式,expression代表合法的表達式,/p將variable=的值設置成輸入行,variable指定或許要修改的變量,string指定要與指定變量關聯的字符串。
goto語法命令及應用
? ? goto:流程控制轉向命令,主要控制批處理當中的流程。
? ? 命令格式:goto label,label以冒號開頭,標識符不能為逗號,冒號等,可以使用空格,標識符最長為8個字節,超過8個字符,只識別前面8個字符
start語法命令及應用
? ? 單獨啟用新的窗口,在新的窗口中執行指定的程序或者命令
? ? start ["title"] [/dPath] [/i:] [/min] [/max] [{/separate | /shared}] [/wait],“title”為命令行窗口的內容? ??/dPath指定啟動的目錄? ? /i:將當前命令行窗口傳送到新的命令行窗口? ? /min啟動新窗口后最小化????/max啟動新窗口后最大化????/separate將在單獨的內存空間來啟動程序?????/shared將在共享的內存空間中啟動程序? ? /wait啟動運行程序并等待其運行結束。
if語法命令及應用
? ? if:通過條件判斷命令是否運行
? ? if [not] errorlevel number(只有當cmd程序返回大于等于number退出代碼的時候才可以指定真條件) command(指定只有滿足前面的條件的時候才會執行的命令)[else expression]
? ? if [not] string1 = string2 command [else expression] 只有string1 = string2時執行command,否則執行else
? ???if [not] exist filename command [else expression] 只有filename 條件存在時執行command,否則執行else?
? ? if [/i](強制字符比較時忽略大小寫)string1 compareop string2 command [else expression]? string1與string2比較
????compareop的值為:EQU等于,NEQ不等于,LSS:小于,LEQ小于或等于,GTR大于,GEQ大于或等于
? ? if defined variable commad [else expression]如果定義了variable那么條件為真
for語法命令及應用
? ? for 對數據或文件進行循環處理
? ? for {%variable|%%variable} in (set) do command [CommandLineOptions]?command要執行的命令,CommandLineOptions要執行的命令選項
setlocal命令語法及應用
? ? 在程序運行時設置自身的環境變量,并且不會影響系統的環境變量
? ? setlocal{enableextension????|????disaleextiensions}{enablededelayedexpansion????|????disablededelayedexpansion}??
????enableextension|disaleextiensions是否啟用命令擴展????enablededelayedexpansion????|????disablededelayedexpansion是否啟用延時
? ? 使用setlocal時必須出現endlocal
shift命令語法及應用
? ? shift[/n]? ? "n的值為0~8”
“*”,“?”通配符
“*”表示任意多個字符包括0個字符,“?”代表任意單個字符
“<”,“>”,“>>”重定向符的應用
用于控制數據的輸入與輸出方式,">>"為追加
“|”管道符的應用
將一個命令的輸出數據提取出來,作為另一個命令的輸入數據