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