批處理命令學習

2021-07-03 10:20:45 字數 2800 閱讀 3197

dos下的可執行檔案有三種,分別是exe,com和bat。其中,exe和com檔案都是二進位制形式的,只有bat檔案是文字形式的,可以直接閱讀。因 此,bat檔案和以上二進位制可執行檔案相比,內容要簡單的多。這些檔案內包含著dos命令的集合,通常叫作批處理檔案。批處理檔案的組成雖然比較簡單,但 其用處非常大,使用也比較廣泛。比如每次都執行一些相同的命令,您一定會覺得非常麻煩,而放在批處理檔案中執行的話則輕鬆得多。autoexec.bat 就是乙個特殊的批處理檔案,dos在啟動會自動執行autoexec.bat這條檔案,一般我們在裡面裝載每次必用的程式,如: path(設定路徑)、smartdrv(磁碟加速)、 mouse(滑鼠啟動)、mscdex(光碟機連線)、 doskey(鍵盤管理)、set(設定環境變數)等。因此,要學好dos,就要學好批處理檔案。下面介紹批處理文 件的命令及其使用。 dos自帶的批處理命令:

@ :將這個符號放在批檔案中

其它命令的前面,執行時將不顯示命令本身。

如@echo off命令就在批檔案首經常用到。

call :從乙個批檔案中呼叫另乙個批檔案,呼叫完後繼續執行原來的批檔案。

用法:call [批檔名]

注:也可以使用command /c命令完成同樣的操作。

choice :選擇命令。這是乙個dos外部命令,但它主要用在批檔案中。

choice命令執行後將提示可選擇的專案,這時通過乙個按鍵來選則。

用法:choice:[/c[:]按鍵表] [/n] [/s] [/t[:]選擇值,秒數] [顯示文字]

其中,/c表示可選則的按鍵,/n表示不要顯示提示資訊,/s表示大小寫字元敏感方式,/t表示若在批定的時間內沒有選則的話,自動執行/c中定義的某個選擇值。顯示文字是choice命令執行時的提示資訊。選擇結果將用errorlevel值來表示。

echo :顯示指定的資訊。通常顯示在螢幕上。

如echo hello將在螢幕上顯示hello的字樣。

另外,echo on|off用來設定在批檔案執行時是否顯示命令本身。而echo off與@的意思一樣,但它是乙個單獨的命令,而不能像@那樣放在其它命令之前。

for :對於指定的檔案執行相應的命令。

大家知道,dos下許多命令支援萬用字元,如?和*,可以一次指定一批檔案,非常方便。然而,並非所有的dos命令都支援萬用字元,如type(檔案內容顯示命令)就不支援。有了for命令就沒有關係了,利於它可以使type命令可以一次顯示多個檔案。

用法:for %變數名 in (檔案集) do 命令 [命令引數]

注:以上是for命令的固定形式,in和do的位置必須正確,否則將提示語法錯誤。

如for %f in (*.*) do type %f命令就可以實現type命令一次顯示多個檔案。

注:%f是變數名,也可用%g等代替,但前後必須一致。在批檔案中用%%f代替。

goto :轉到批檔案內部的某個標號下執行。

大家知道,在程式設計中往往需要重複或跳轉到某個地方繼續執行,如basic語言中的goto命令。批檔案中的goto命令也可以完成類似的功能。

用法:goto [標號名]

其中,標號名是可以隨意設定的,如hello等。設定標號用「:」符號,如「:hello」,這時用goto hello命令將轉到「:hello」所在的位置繼續執行批檔案。

if :條件判斷命令。這是一項很有用的批處理命令。

用法1:if [not] exist 檔名 命令 [命令引數]

意義:如果[不]存在某個檔案將執行某個命令。

用法2:if [not] errorlevel 錯誤返回代號 命令 [命令引數]

意義:如果錯誤返回代號[不]大於或等於指定的代號將執行某個命令。

其中,errorlevel表示錯誤返回代號,很有用。對於很多dos命令,由於執行的結果不同(如執行成功,執行失敗,或被使用者中斷等),這些命令會返 回不同的代號,以表示不同的結果。if errorlevel命令就根據這個不同結果而產生的不同代號來執行不同的命令,通常用在某條命令之後。如if errorlevel 1 echo ok!表示如果當前的錯誤返回代號大於或等於1時將在螢幕上顯示「ok!」的字樣。

用法3:if [not] 字串1==字串2 命令 [命令引數]

意義:當字串1和字串2[不]相等的時候執行某個命令。

pause :暫停批檔案的執行,並顯示「按任意鍵繼續」的字樣。

rem :新增註解。用於增加檔案可讀性,將不被執行。也可以用::來代替。

shift :在批檔案中改變可替換引數的位置。

可替換引數是一種特殊的引數,只能用在批檔案中。這些引數是由使用者在執行批處理命令時輸入的。比如,我們執行dir /s /w命令,其中dir是命令名,/s和/w是它的執行引數。在批檔案中,這些命令引數將被分別賦予到可替換引數中,如/s就成的%1,/w就可了%2,以 至類推,而命令本身則被賦予%0中。批檔案就是利用可替換引數對執行時輸入的引數來進行操作的。比如現在有個批處理檔案叫myfile.bat,在命令列 下執行myfile.bat yes,於是%0的值就是myfile.bat,%1的值就是「yes」,可以在此批檔案中用if等命令判斷出%1等引數的值,然後根據這些值的不同執行 不同的操作,如if "%1"=="yes" goto yes。

shift命令不帶任何引數,執行結果是將%0的值換成原%1的值,而原%1 的值變成的原%2的值,以此類推。注意它的不可逆轉性。因為批處理檔案執行時 的執行引數可能很多,可能會超過10個,而可替換引數只能從%0到%9,若想取得%9以後的引數值,只能使用shift命令。這時,整個引數列將向前推。

以上是dos的自帶批處理命令,可以看出,這些命令是非常少的,若要編寫較複雜的程式,用以上的命令顯然不可能實現。這時就需要其它實用的批處理工具了, 著名且實用的有testif,string,aset,batchman,wbat等。

批處理命令學習

dos下的可執行檔案有三種,分別是exe,com和bat。其中,exe和com檔案都是二進位制形式的,只有bat檔案是文字形式的,可以直接閱讀。因 此,bat檔案和以上二進位制可執行檔案相比,內容要簡單的多。這些檔案內包含著dos命令的集合,通常叫作批處理檔案。批處理檔案的組成雖然比較簡單,但 其用...

批處理命令

time 2019 07 05 author ruo xiao 1 var 告訴編譯器,var 是變數,不是字串。2 var,僅用在 for 迴圈中。栗子 echo off set vars jack lucy nasa for t in vars do echo t pause 執行結果 注意 1...

批處理命令學習筆記 Start命令

start 命令 啟動另乙個視窗執行指定的程式或命令,所有的dos命令和命令列程式都可以由start命令來呼叫。語法 start title dpath i min max separate shared low normal high realtime abovenormal belownorma...