標籤:批處理
注意:必須儲存為ASCII碼格式,檔案名稱也不能包含中文
基本命令:
@echo off
echo的意思是迴旋,這裡的意思就是回顯,echo off意思就是關閉回顯.前面的@表示echooff 這一行也不會回顯你可以試著去掉@和整行去掉.@的另一個功能是在執行完批次檔時自動回復命令回顯。
測試:
@echo off
ipconfig
pause
暫停批次程式的執行並顯示一條訊息,提示使用者按任意鍵繼續執行。
rem
注釋指令
call
調用指令
例子1:
寫一個test.bat,放在C盤
@echo off
echo %1 –這裡%1是輸入的參數,echo是輸出顯示
然後開啟cmd,輸入call C:\test.bat “dingxiaowei”,會顯示”dingxiaowei”
例子2:
講上面的test.bat修改為
ping %1
ping %2
效果:
if
判斷指令
三種方式:
IF [NOT]string1==string2 command
IF [NOT]EXIST filename command
IF [NOT]ERRORLEVEL number command
例子1:
@echo off
if %1 == 1 echo “a = 1”
例子2:
檢測是否存在檔案
@echo off
if existe:1.txt echo “exist 1.txt”
goto
跳轉執行指令
@echo off
net user
if %ERRORLEVEL% == 0 goto successed
if %ERRORLEVEL% == 1 goto failed
:successed
echo netuser 執行成功!
goto return
:failed
echo netuser 執行失敗!
:return
set
設定命令
FOR 參數 %%變數名 IN (相關檔案或命令) DO 執行的命令
參數:FOR有4個參數 /d /l /r /f
例子:
set protogen=”%~dp0….\Tools\release\protobuf\protogx\protogx.exe”
%~dp0\表示當前路徑
/d 僅為目錄
@echo off
for /d %%i in (*) do @echo %%i
pause
把他儲存放在C盤根目錄執行,就會把C盤目錄下的全部目錄名字列印出來
@echo off
for /d %%i in (???) do @echo %%i
pause
目前的目錄下有目錄名字只有1-3個字母的,就會顯示出來,沒有就不顯示
echo off
for /d %%i in (e:*) do echo %%i
該命令只掃描目前的目錄的子目錄名稱,不會掃瞄子目錄中所包含的子目錄名稱
/r 遞迴
@echo off
for /r c:\ %%i in (*.exe) do @echo %%i
pause
搜尋出全部的exe檔案
For /r c:\%%i in (.) do echo %%i
掃描出目前的目錄下所有子目錄的名稱,會遞迴遍曆
/f 用於遍曆檔案
for /f %%i in (a.txt) do echo %%i
會讀出a.txt的內容,如果沒有/f則只會顯示檔案名稱
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
windows批處理