windows bat(批處理)--基礎文法
1. @
行首有了它的話,這一行的命令就不顯示了。
2. echo
2.1 echo [{on|off}] [message]
輸出,回顯。
2.2 on | off
它其實是一個開關命令,就是說它只有兩種狀態:開啟和關閉。於是就有了echo on和echo off兩個命令了。
(1)echo off
只顯示執行結果
(2)echo on (預設)
顯示執行命令(除echo)和執行結果
(3)> 輸出重新導向
建立或清空檔案,然後把資料輸出到檔案
echo hi > a.txt
把資料追加到檔案
echo this is a text 》a.txt
echo hi > a.txt
type a.txt
echo this is a text 》a.txt
type a.txt
3. 注釋
:: 或 rem
4. ":"和 goto
(1)goto
跳轉到標籤
(2):
定義一個標籤
Sample:
[python]
if {%1}=={} goto noparms
if {%2}=={} goto noparms(如果這裡的if、%1、%2你不明白的話,先跳過去,後面會有詳細的解釋。)
@Rem check parameters if null show usage
:noparms
echo Usage: monitor.bat ServerIP PortNumber
goto end
5.Pause
運行 Pause 命令時,將顯示下面的訊息:
[python]
Press any key to continue . . .
Sample:
[python]
@echo off
:begin
echo Pause
pause
goto begin
6.Call 命令
從一個批次程式調用另一個批次程式,並且不終止父批次程式。call 命令接受用作調用目標的標籤。如果在指令碼或批次檔外使用 Call,它將不會在命令列起作用。
文法
call [Drive:][Path] FileName [BatchParameters] [:label [arguments]
參數
[Drive:}[Path] FileName
指定要調用的批次程式的位置和名稱。filename 參數必須具有 .bat 或 .cmd 副檔名。
7.start 命令
調用外部程式,所有的DOS命令和命令列程式都可以由start命令來調用。
入侵常用參數:
MIN 開始時視窗最小化
SEPARATE 在分開的空間內開始 16 位 Windows 程式
HIGH 在 HIGH 優先順序類別開始應用程式
REALTIME 在 REALTIME 優先順序類別開始應用程式
WAIT 啟動應用程式並等候它結束
parameters 這些為傳送到命令/程式的參數
執行的應用程式是 32-位 GUI 應用程式時,CMD.EXE 不等應用程式終止就返回命令提示。如果在命令指令碼內執行,該新行為則不會發生。
8.choice 命令
choice 使用此命令可以讓使用者輸入一個字元,從而運行不同的命令。使用時應該加/c:參數,c:後應寫提示可輸入的字元,之間無空格。它的返回碼為1234……
如: choice /c:dme defrag,mem,end
將顯示
defrag,mem,end[D,M,E]?
Sample:
Sample.bat的內容如下:
@echo off
choice /c:dme defrag,mem,end
if errorlevel 3 goto defrag (應先判斷數值最高的錯誤碼)
if errorlevel 2 goto mem
if errotlevel 1 goto end
:defrag
c:dosdefrag
goto end
:mem
mem
goto end
:end
echo good bye
此檔案運行後,將顯示 defrag,mem,end[D,M,E]? 使用者可選擇d m e ,然後if語句將作出判斷,d表示執行標號為defrag的程式段,m表示執行標號為mem的程式段,e表示執行標號為end的程式段,每個程式段最後都 以goto end將程式跳到end標號處,然後程式將顯示good bye,檔案結束。
9. %x 參數
%1 -- 第1個參數
%2 -- 第2個參數
%3 -- 第3個參數
…
net use %1ipc$ %3 /u:"%2"
%1 -- IP
%2 -- username
%3 -- password