BAT命令大全

2021-08-08 17:28:06 字數 5598 閱讀 3498

關閉單行回顯

echo off從下一行開始關閉回顯

@echo off       #從本行開始關閉回顯。一般批處理第一行都是這個

echo on        #從下一行開始開啟回顯

echo顯示當前是 echo off 狀態還是 echo on 狀態

echo輸出乙個」回車換行」,空白行

同echo, echo; echo+ echo[ echo] echo/ echo\)

2 errorlevel

echo %errorlevel%

每個命令執行結束,可以用這個命令列格式檢視返回碼

預設值為0,一般命令執行出錯會設 errorlevel 為1

3 dir

dir顯示當前目錄中的檔案和子目錄

dir /a     #顯示當前目錄中的檔案和子目錄,包括隱藏檔案和系統檔案

dir c: /a:d顯示 c 盤當前目錄中的目錄

dir c: /a:-d顯示 c 盤根目錄中的檔案

dir c:\ /b/pb只顯示檔名,/p分頁顯示

dir *.exe /s顯示當前目錄和子目錄裡所有的.exe檔案

4 cd

cd進入根目錄

cd顯示當前目錄

cd /d d:\sdk可以同時更改碟符和目錄

5 md

md d:\a\b\c如果 d:\a 不存在,將會自動建立中級目錄

#如果命令副檔名被停用,則需要鍵入 mkdir \a\b\c。

6 rd

rd abc刪除當前目錄裡的 abc 子目錄,要求為空目錄

rd /s/q d:\temp       #刪除 d:\temp 資料夾及其子資料夾和檔案,/q安靜模式

7 del

del d:\test.txt       #刪除指定檔案,不能是隱藏、系統、唯讀檔案

del /q/a/f d:\temp\*.*

刪除 d:\temp 資料夾裡面的所有檔案,包括隱藏、唯讀、系統檔案,不包括子目錄

del /q/a/f/s d:\temp\*.*

刪除 d:\temp 及子資料夾裡面的所有檔案,包括隱藏、唯讀、系統檔案,不包括子目錄

8 ren

ren d:\temp tmp       #支援對資料夾的重新命名

9 cls

清屏10 type

顯示檔案內容

type c:\boot.ini      #顯示指定檔案的內容,程式檔案一般會顯示亂碼

type *.txt顯示當前目錄裡所有.txt檔案的內容

11 copy

拷貝檔案

copy c:\test.txt d:\test.bak

複製 c:\test.txt 檔案到 d:\ ,並重命名為 test.bak

copy con test.txt

從螢幕上等待輸入,按 ctrl+z 結束輸入,輸入內容存為test.txt檔案

con代表螢幕,prn代表印表機,nul代表空裝置

copy 1.txt + 2.txt 3.txt

合併 1.txt 和 2.txt 的內容,儲存為 3.txt 檔案

如果不指定 3.txt ,則儲存到 1.txt

copy test.txt +

複製檔案到自己,實際上是修改了檔案日期

12 title

設定cmd視窗的標題

title 新標題可以看到cmd視窗的標題欄變了

13 ver

顯示系統版本

14 label 和 vol

設定卷標

vol顯示卷標

label顯示卷標,同時提示輸入新卷標

label c:system        #設定c盤的卷標為 system

15 pause

暫停命令

16 rem 和 ::

注釋命令

注釋行不執行操作

17 date 和 time

日期和時間

date顯示當前日期,並提示輸入新日期,按\"回車\"略過輸入

date/t只顯示當前日期,不提示輸入新日期

time顯示當前時間,並提示輸入新時間,按\"回車\"略過輸入

time/t只顯示當前時間,不提示輸入新時間

18 goto 和 :

跳轉命令

:label行首為:表示該行是標籤行,標籤行不執行操作

goto label      #跳轉到指定的標籤那一行

19 find (外部命令)

查詢命令

find \"abc\" c:\test.txt

在 c:\test.txt 檔案裡查詢含 abc 字串的行

如果找不到,將設 errorlevel 返回碼為1

find /i 「abc」 c:\test.txt

查詢含 abc 的行,忽略大小寫

find /c \"abc\" c:\test.txt

顯示含 abc 的行的行數

20 more (外部命令)

逐屏顯示

more c:\test.txt      #逐屏顯示 c:\test.txt 的檔案內容

21 tree

顯示目錄結構

tree d顯示d盤的檔案目錄結構

22 &

順序執行多條命令,而不管命令是否執行成功

23 &&

順序執行多條命令,當碰到執行出錯的命令後將不執行後面的命令

find \"ok\" c:\test.txt && echo 成功

如果找到了\"ok\"字樣,就顯示\"成功\",找不到就不顯示

24 ||

順序執行多條命令,當碰到執行正確的命令後將不執行後面的命令

find \"ok\" c:\test.txt || echo 不成功

如果找不到\"ok\"字樣,就顯示\"不成功\",找到了就不顯示

25 |

管道命令

dir *.* /s/a | find /c \".exe\"

管道命令表示先執行 dir 命令,對其輸出的結果執行後面的 find 命令

該命令列結果:輸出當前資料夾及所有子資料夾裡的.exe檔案的個數

type c:\test.txt|more

這個和 more c:\test.txt 的效果是一樣的

26 > 和 >>

輸出重定向命令

> 清除檔案中原有的內容後再寫入

>> 追加內容到檔案末尾,而不會清除原有的內容

主要將本來顯示在螢幕上的內容輸出到指定檔案中

指定檔案如果不存在,則自動生成該檔案

type c:\test.txt >prn

螢幕上不顯示檔案內容,轉向輸出到印表機

echo hello world>con

在螢幕上顯示hello world,實際上所有輸出都是預設 >con 的

copy c:\test.txt f: >nul

拷貝檔案,並且不顯示\"檔案複製成功\"的提示資訊,但如果f盤不存在,還是會顯示出錯資訊

copy c:\test.txt f: >nul 2>nul

不顯示」檔案複製成功」的提示資訊,並且f盤不存在的話,也不顯示錯誤提示資訊

echo ^^w ^> ^w>c:\test.txt

生成的檔案內容為 ^w > w

^ 和 > 是控制命令,要把它們輸出到檔案,必須在前面加個 ^ 符號

27 <

從檔案中獲得輸入資訊,而不是從螢幕上

一般用於 date time label 等需要等待輸入的命令

@echo off

echo 2005-05-01>temp.txt

date del temp.txt

這樣就可以不等待輸入直接修改當前日期

28 %0 %1 %2 %3 %4 %5 %6 %7 %8 %9 %*

命令列傳遞給批處理的引數

%0 批處理檔案本身

%1 第乙個引數

%9 第九個引數

%* 從第乙個引數開始的所有引數

批引數(%n)的替代已被增強。您可以使用以下語法:

%~1刪除引號(\"),擴充 %1

%~f1將 %1 擴充到乙個完全合格的路徑名

%~d1僅將 %1 擴充到乙個驅動器號

%~p1僅將 %1 擴充到乙個路徑

%~n1僅將 %1 擴充到乙個檔名

%~x1僅將 %1 擴充到乙個副檔名

%~s1擴充的路徑指含有短名

%~a1將 %1 擴充到檔案屬性

%~t1將 %1 擴充到檔案的日期/時間

%~z1將 %1 擴充到檔案的大小

%~$path : 1 - 查詢列在 path 環境變數的目錄,並將 %1

擴充到找到的第乙個完全合格的名稱。如果環境

變數名未被定義,或者沒有找到檔案,此組合鍵會

擴充到空字串

可以組合修定符來取得多重結果:

%~dp1只將 %1 擴充套件到驅動器號和路徑

%~nx1只將 %1 擴充套件到檔名和副檔名

%~dp$path:1 - 在列在 path 環境變數中的目錄裡查詢 %1,

並擴充套件到找到的第乙個檔案的驅動器號和路徑。

%~ftza1       - 將 %1 擴充套件到類似 dir 的輸出行。

可以參照 call/? 或 for/? 看出每個引數的含意

echo load \"%%1\" \"%%2\">c:\test.txt

生成的檔案內容為 load \"%1\" \"%2\"

批處理檔案裡,用這個格式把命令列引數輸出到檔案

29 if

判斷命令

if \"%1\"==\"/a\" echo 第乙個引數是/a

if /i \"%1\" equ \"/a\" echo 第乙個引數是/a

/i 表示不區分大小寫,equ 和 == 是一樣的,其它運算子參見 if/?

if exist c:\test.bat echo 存在c:\test.bat檔案

if not exist c:\windows (

echo 不存在c:\windows資料夾

)if exist c:\test.bat (

echo 存在c:\test.bat

) else (

echo 不存在c:\test.bat

)30 setlocal 和 endlocal

設定」命令副檔名」和」延緩環境變數擴充」

setlocal enableextensions啟用\"命令副檔名\"

setlocal disableextensions停用\"命令副檔名\"

setlocal enabledelayedexpansion        #啟用\"延緩環境變數擴充\"

setlocal disabledelayedexpansion       #停用\"延緩環境變數擴充\"

endlocal恢復到使用setlocal語句以前的狀態

「命令副檔名」預設為啟用

「延緩環境變數擴充」預設為停用

批處理結束系統會自動恢復預設值

可以修改登錄檔以禁用\"命令副檔名\",詳見 cmd /? 。所以用到\"命令副檔名\"的程

序,建議在開頭和結尾加上 setlocal enableextensions 和 endlocal 語句,以確

保程式能在其它系統上正確執行

bat命令大全

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

bat批處理命令大全1234

從簡單學起 echo call pause rem 是批處理檔案最常用的幾個命令,我們就從他們開始學起。echo 表示顯示此命令後的字元 echo off 表示在此語句後所有執行的命令都不顯示命令列本身 與echo off相象,但它是加在其它命令列的最前面,表示執行時不顯示命令列本身。call 呼叫...

BAT中if命令詳解

if,正如它e文中的意思,就是 如果 的意思,用來進行條件判斷。翻譯過來的意思就是 如果符合某一條件,便執行後面的命令。if 命令示例詳解 if,正如它e文中的意思,就是 如果 的意思,用來進行條件判斷。翻譯過來的意思就是 如果符合某一條件,便執行後面的命令。主要用來判斷,1 兩個 字串 是否相等 ...