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的幾種格式

  1. 判斷兩個字元串是否相等,if 「字元串1」==」字元串2」 command 語句;
  2. 判斷兩個數值是否相等,if 數值1 equ 數值2 command 語句;
  3. 判斷判斷驅動器,文件或文件夾是否存在,if exist filename command 語句;
  4. 判斷變數是否已經定義,if defined 變數 command 語句;
  5. 判斷上個命令的返回值,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