cmd實現循環調用
- 2020 年 1 月 21 日
- 筆記
cmd是windows的命令,可以輔助我們做很多事情,今天實現一個調用一個程序n次的實例:
@echo off taskkill /f /im xxxx.exe # 刪除某個進程 set n=0 :run set /a n=%n%+1 echo 第%n%調用 timeout 1 if %n% equ 5 exit goto run
基礎知識
if的幾種格式
- 判斷兩個字符串是否相等,if 「字符串1」==」字符串2」 command 語句;
- 判斷兩個數值是否相等,if 數值1 equ 數值2 command 語句;
- 判斷判斷驅動器,文件或文件夾是否存在,if exist filename command 語句;
- 判斷變量是否已經定義,if defined 變量 command 語句;
- 判斷上個命令的返回值,if errorlevel 數值 command 語句。
set的使用
在上面的代碼中set n=0
是代表定義一個變量n,值為0 ,在引用的時候直接使用%n%
set /a n=%n%+1
/a
參數會把等號右邊當成一個表達式,常用的表達式都支持。
set
還有一個/p
的參數,是讓用戶來輸入對應的值。例如:
@echo off 請輸入變量的值: set /p v= echo %v% pause
goto的使用
goto
分成兩個地方,一個地方是定義要執行的代碼塊,如例子中的:run
goto run
代表是從run後面開始執行。
for循環的使用
for
是cmd的循環命令,常用的參數有/l
,例如:
for /l %x in (1, 1, 100) do echo hello%x
代表從1開始,每次增加1,直到100為止。
for
循環後面需要用do
來表示循環體內的動作,括號用()
@echo off for /l %%x in (1, 1, 5) do ( timeout 1 start test.bat ) pause