bat批處理命令大全1234

2021-08-08 17:19:49 字數 5329 閱讀 8906

從簡單學起

echo、@、call、pause、rem 是批處理檔案最常用的幾個命令,我們就從他們開始學起。 echo 表示顯示此命令後的字元

echo off 表示在此語句後所有執行的命令都不顯示命令列本身

@ 與echo off相象,但它是加在其它命令列的最前面,表示執行時不顯示命令列本身。

call 呼叫另一條批處理檔案(如果直接呼叫別的批處理檔案 ,執行完那條檔案後將無法執行當前檔案後續命令)

pause 執行此句會暫停,顯示press any key to continue... 等待使用者按任意鍵後繼續

rem 表示此命令後的字元為解釋行,不執行,只是給自己今後查詢用的

批處理命令大全(一)第一部分:批處理的專用命令

批處理檔案是將一系列命令按一定的順序集合為乙個可執行的文字檔案,其擴充套件名為bat。這些命令統稱批處理命令,下面我就來給大家介紹一下批處理的命令。

1、 rem

rem 是個注釋命令一般是用來給程式加上註解的,該命令後的內容在程式執行的時候將不會被顯示和執行。例:

rem 你現在看到的就是註解,這一句將不會被執行。在以後的例子中解釋的內容都rem 會放在rem後面。請大家注意。

2、 echo

echo 是乙個回顯命令主要引數有off和 on,一般用echo message來顯示乙個特定的訊息 。例:

echo off

rem 以上代表關閉回顯即不顯示所執行的命令

echo 這個就是訊息。

rem 以上代表顯示「這就是訊息」這列字元

執行結果:

c:\>echo.bat

這個就是訊息。

3、 goto

goto 即為跳轉的意思。在批處理中允許以「:***」來構建乙個標號然後用goto :標號直接來執行標號後的命令。例

:label

rem 上面就是名為label的標號。

dir c:\

dir d:\

goto label

rem 以上程式跳轉標號label處繼續執行。

4、call

call 命令可以在批處理執行過程中呼叫另乙個批處理,當另乙個批處理執行完後再繼續執行原來的批處理。例:

批處理2.bat內容如下:

echo 這就是2的內容

批處理1.bat內容如下:

echo 這是1的內容

call 2.bat

echo 1和2的內容全部顯示完成

執行結果如下:

c:\>1.bat

這是1的內容

這就是2的內容

1和2的內容全部顯示完成

5、pause

pause 停止系統命令的執行並顯示下面的內容。例:

c:\> pause

請按任意鍵繼續 . . .

6、 if

if 條件判斷語句,語法格式如下:

if [not] errorlevel number command

if [not] string1==string2 command

if [not] exist filename command

說明:[not] 將返回的結果取反值即「如果沒有」的意思。

errorlevel 是命令執行完成後返回的退出值

number 退出值的數字取值範圍0~255。判斷時值的排列順序應該又大到小。返回的值大於或等於指定的值時條件成立。

string1==string2 string1和string2都為字元的資料,英文本元的大小寫將看做不同,這個條件中的等於號必須是2個(絕對相等),條件想等後即執行後面的 command

exist filename 為檔案或目錄存在的意思。

if errorlevel這條語句必須放在某乙個命令後面。執行命令後由if errorlevel來判斷命令的返回值。

例:1、 if [not] errorlevel number command

檢測命令執行完後的返回值做出判斷。

echo off

dir z:

rem 如果退出**為1(不成功)就跳至標題1處執行

if errorlevel 1 goto 1

rem 如果退出**為0(成功)就跳至標題0處執行

if errorlevel 0 goto 0

:0echo 命令執行成功!

rem 程式執行完畢跳至標題exit處退出

goto exit

:1echo 命令執行失敗!

rem 程式執行完畢跳至標題exit處退出

goto exit

:exit

rem 這裡是程式的出口

2、 if string1==string2 command

檢測當前變數的值做出判斷

echo off

if %1==2 goto no

echo 變數相等!

goto exit

:noecho 變數不相等

goto exit

:exit

大家可以這樣看效果 c:\>test.bat 數字

3、 if [not] exist filename command

發現特定的檔案做出判斷

echo off

if not exist autoexec.bat goto 1

echo 檔案存在成功!

goto exit

:1echo 檔案不存在失敗!

goto exit

:exit

這個批處理大家可以放在c盤和d盤分別執行看看效果。

7、 for

for這個命令比較特殊是乙個迴圈執行命令的命令,同時for的迴圈裡面還可以套用for在進行迴圈。這篇我們介紹基本的用法就不做套用的迴圈了,後面再來講解套用的迴圈。在批處理中for的命令如下:

for [%%c] in (set) do [command] [arguments]

在命令列中命令如下:

for [%c] in (set) do [command] [arguments]

常用引數:

/l 該集表示以增量形式從開始到結束的乙個數字序列。因此,(1,1,5) 將產生序列 1 2 3 4 5,(5,-1,1) 將產生序列 (5 4 3 2 1)。

/d 如果集中包含萬用字元,則指定與目錄名匹配,而不與檔名匹配。

/f 從指定的檔案中讀取資料作為變數

eol=c指乙個行注釋字元的結尾(就乙個)

skip=n指在檔案開始時忽略的行數。

delims=*** - 指分隔符集。這個替換了空格和跳格鍵的預設分隔符集。

tokens=x,y,m-n - 指每行的哪乙個符號被傳遞到每個迭代的 for 本身。這會導致額外變數名稱的分配。m-n格式為乙個範圍。

通過 nth 符號指定 mth。如果符號字串中的最後乙個字元星號,那麼額外的變數將在最後乙個符號解析之後分配並接受行的保留文字。

usebackq - 指定新語法已在下類情況中使用:在作為命令執行乙個後引號的字串並且乙個單引號字元為文字字串命令並允許在 filenameset中使用雙引號擴起檔名稱。

下面來看乙個例子:

for /f "eol=; tokens=2,3* delims=, " %i in (myfile.txt) do @echo %i %j %k

會分析 myfile.txt 中的每一行,忽略以分號打頭的那些行,將每行中的第二個和第三個符號傳遞給 for 程式體;用逗號和/或空格定界符號。請注意,這個 for 程式體的語句引用 %i 來取得第二個符號,引用 %j 來取得第三個符號,引用 %k來取得第三個符號後的所有剩餘符號。

對於帶有空格的檔名,您需要用雙引號將檔名括起來。為了用這種方式來使用雙引號,您還需要使用 usebackq 選項,否則,雙引號會被理解成是用作定義某個要分析的字串的。

%i 專門在 for 語句中得到說明,%j 和 %k 是通過tokens= 選項專門得到說明的。您可以通過 tokens= 一行指定最多 26 個符號,只要不試圖說明乙個高於字母 'z' 或'z' 的變數。請記住,for 變數名分大小寫,是通用的;而且,同時不能有 52 個以上都在使用中。

您還可以在相鄰字串上使用 for /f 分析邏輯;方法是,用單引號將括號之間的 filenameset 括起來。這樣,該字串會被當作乙個檔案中的乙個單一輸入行。最後,您可以用 for /f 命令來分析命令的輸出。

方法是,將括號之間的 filenameset 變成乙個反括字串。該字串會被當作命令列,傳遞到乙個子 cmd.exe,其輸出會被抓進記憶體,並被當作檔案分析。

因此,以下例子:

for /f "usebackq delims==" %i in (`set`) do @echo %i

會列舉當前環境中的環境變數名稱。

以下列舉乙個簡單的例子,他將說明引數/l和沒有引數的區別:

刪除檔案1.txt 2.txt 3.txt 4.txt 5.txt

例:echo off

for /l %%f in (1,1,5) do del %%f.txt

或for %%f in (1,2,3,4,5) do del %%f.txt

以上2條命令執行的結果都是一樣的如下:

c:\>del 1.txt

c:\>del 2.txt

c:\>del 3.txt

c:\>del 4.txt

c:\>del 5.txt

8、 setlocal

開始批處理檔案中環境改動的本地化操作。在執行 setlocal 之後

所做的環境改動只限於批處理檔案。要還原原先的設定,必須執

行 endlocal。 達到批處理檔案結尾時,對於該批處理檔案的每個

尚未執行的 setlocal 命令,都會有乙個隱含的 endlocal 被

執行。例:

@echo off

set path察看環境變數path

pause

setlocal

set path=e:\tools /*重新設定環境變數path

set path

pause

endlocal

set path

從上例我們可以看到環境變數path第1次被顯示得時候是系統預設路徑。被設定成了e:\tools後顯示為e:

\tools但當endlocal後我們可以看到他又被還原成了系統的預設路徑。但這個設定只在該批處理執行的時候有作用。當批處理執行完成後環境變數path將會還原。

9、 shift

shift命令可以讓在命令上的的命令使用超過10個(%0~%9)以上的可替代引數例:

echo off

echo %1 %2 %3 %4 %5 %6 %7 %8 %9

shift

BAT命令大全

關閉單行回顯 echo off從下一行開始關閉回顯 echo off 從本行開始關閉回顯。一般批處理第一行都是這個 echo on 從下一行開始開啟回顯 echo顯示當前是 echo off 狀態還是 echo on 狀態 echo輸出乙個 回車換行 空白行 同echo,echo echo echo...

bat命令大全

序號1234567 標題目錄跳 cd 以樹形格式羅列檔案 tree 內容重定向 和 條件判斷 if流程跳 goto複製檔案 copy刪除檔案 del 首發日期更新日期 8重新命名檔案 夾 ren 9建立資料夾 md 10刪除資料夾 rd 11移動檔案 夾 move 12字串查詢 find 13141...

批處理bat程式設計詳解

批處理語法,bat語法 批處理就是把一批或者說是一條條命令放在乙個文字裡,然後批量執行 執行這 一批命令的檔案的副檔名是bat檔案或者cmd,把任何一批命令放入在有這樣副檔名的檔案裡,執行時裡面的命令就會一條條的執行完,當然 我們還可以在其中加入一些邏輯判斷的語句,讓裡面的命令在滿足一定條件時執行指...