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