標籤:批處理的基礎知識
批處理是一種簡化的指令碼語言,也稱作宏。它應用於DOS和Windows系統中,它是由DOS或者Windows系統內嵌的命令直譯器(通常是COMMAND. COM或者CMD.EXE)解釋運行。類似於Unix中的Shell指令碼。批次檔具有.bat或者.cmd的擴充命令列視窗名,其最簡單的例子,是逐行書寫在命令列中會用到的各種命令。更複雜的情況,需要使用if,for,goto等命令控製程序的運行過程,如同C,Basic等中進階語言一樣。如果需要實現更複雜的應用,利用外部程式是必要的,這包括系統本身提供的外部命令和第三方提供的工具或者軟體。批次檔,或稱為批次程式,是由一條條的DOS命令組成的普通文字檔,可以用記事本直接編輯或用DOS命令建立,也可以用DOS下的文字編輯器Edit.exe來編輯。在“命令提示”下鍵入批次檔的名稱,或者雙擊該批次檔,系統就會調用Cmd.exe運行該批次程式。一般情況下,每條命令佔據一行;當然也可以將多條命令用特定符號(如:&;、&&;、|、||等)分隔後寫入同一行中;還有的情況就是像if、for等較進階的命令則要佔據幾行、幾十甚至幾百行的空間。系統在解釋運行批次程式時,首先掃描整個批次程式,然後從第一行代碼開始向下逐句執行所有的命令,直至程式結尾或遇見exit命令或出錯意外退出。
echo 命令
開啟回顯或關閉請求回顯功能,或顯示訊息。如果沒有任何參數,echo
批處理與聯機處理
命令將顯示當前回顯設定。
文法:echo [{on|off}] [message]
Sample:@echo off / echo hello world
在實際應用中我們會把這條命令和重新導向符號(也稱為管道符號,一般用> >> ^)結合來實現輸入一些命令到特定的檔案中。
rem 命令
注釋命令,類似於在C語言中的/*--------*/,它並不會被執行,只是起一個注釋的作用,只有在編輯批處理時才會被看到,主要用於方便修改。
:: 也具有rem的功能
但::和rem還是有區別的,當關閉回顯時,rem和::後的內容都不會顯示。
順序批處理
但是當開啟回顯時,rem
後的內容會顯示出來,然而::後的內容仍然不會顯示。
Rem [注釋內容]
樣本:Rem 你好。
pause 命令
暫停命令。運行 Pause 命令時,將顯示下面的訊息:
Press any key to continue. . .(或:請按任意鍵繼續. . .)
樣本:
@echo off
:begin
copy G:*.* d:\back
echo 請插入另一張光碟片...
pause
goto begin
在這個例子中,磁碟機 G 中磁碟上的所有檔案均複製到d:\back中。顯示的注釋提示您將另一張光碟片
盤放入磁碟機 G 時,pause 命令會使程式掛起,以便您更換光碟片,然後按任意鍵繼續處理。
call 命令
從一個批次程式調用另一個批次程式,並且不終止父批次程式。call批處理功能介面
命令接受用作調用目標的標籤。如果在指令碼或批次檔外使用 Call,它將不會在命令列起作用。
文法
call [路徑檔案名稱] [標籤]]
參數 [Drive:}[Path] FileName
指定要調用的批次程式的位置和名稱。
start 命令
調用外部程式,所有的DOS命令和命令列程式都可以由start命令來調用。
如:startcalc.exe即可開啟Windows的計算機。
常用參數:
MIN 開始時視窗最小化
SEPARATE 在分開的空間內開始 16 位 Windows 程式
HIGH 在 HIGH 優先順序類別開始應用程式
REALTIME 在 REALTIME 優先順序類別開始應用程式
WAIT 啟動應用程式並等候它結束
parameters 這些為傳送到命令/程式的參數
執行的應用程式是 32-位 GUI 應用程式時,CMD.EXE 不等應用程式
常見批處理案例
終止就返回命令提示。如果在命令
指令碼內執行,該新行為則不會發生。
set 命令
顯示、設定或刪除變數。
顯示變數:set 或 set s 前者顯示批處理當前已定義的所有變數及其值,後者顯示所有以s開頭的變數及值。
設定和調用變數:例如set aa=abcd,就是把aa定義為abcd。如果要調用這個變數,就把aa兩邊加上個百分比符號。
例如:
set aa=abcd
echo %aa%
pause
運行這段命令就會顯示“abcd”。
刪除變數:set aa= 此句命令即可刪除變數aa。若變數aa已被定義,則刪除變數aa;若aa尚未定義,則此句命令無實質意義。
需要說明的是,批處理中的變數是不區分類型的,不需要像C語言中的變數那樣還要區分int、float、char等。比如執行set aa=345後,變數aa的值既可以被視為數字345,也可以被視為字串345。
set命令具有擴充功能,如用作互動輸入、字串處理、數值計算等,屬於進階命令範疇。
本文出自 “IT技術_網工之家” 部落格,請務必保留此出處http://5201314qq.blog.51cto.com/9466704/1684024
批處理的基礎知識