bat 输入想执行的次数 每隔3秒钟循环执行一次应用程序


输入执行的次数 每隔3秒钟循环执行一次AppDemo.exe,

@echo off
echo 请输入执行的次数:
set /p input=
set /a var=0
:1
set /a var=var+1
echo %var%
rem “start”关键字很重要 不然只能关闭现有的 才能打开新的程序
start AppDemo.exe
rem bat里没有sleep  只能用ping 语句代替
ping 127.0.0.1 -n 3  >nul
rem 注意 批处理中大于符号不能用:“>”,而用"gtr",   if 语句 不能换行  这个错误害死我了。
if %var% lss %input% goto 1
echo. & pause

变量的使用参考我的另一篇文章
 http://www.cnblogs.com/yangze/archive/2011/10/20/2218823.html
rem  是注释关键字
利用ping延迟,利用goto达到无限循环。
ping -n 30 127.0.0.1  延迟30秒
> nul   输出为空

DOS有一些保留设备,如CON、PRN、LPT1、LPT2、COM1-4、NUL等。其中NUL为空。>是命令转向输出。

 

比较运算符一览:
EQU - 等于
NEQ - 不等于
LSS - 小于
LEQ - 小于或等于
GTR - 大于
GEQ - 大于或等于

 

改进版本

@echo off
:start
echo.
echo 请选择要进行的操作,然后按回车:
echo.
echo 1. 执行程序
echo 2. 关闭程序
echo.
:set
SET a=
SET /P a=选择:
rem 设定变量"a"为用户输入的字符
IF NOT '%a%'=='' SET a=%a:~0,1%
ECHO.
IF /I '%a%'=='1' goto 1
IF /I '%a%'=='2' goto 2
rem 如果输入的字符不是1-2,将返回重新输入
echo %a% 选择无效,请重新输入:
echo.
goto set

:1
echo 请输入执行的次数:
set /p input=
set /a var=0
:s
set /a var=var+1
echo %var%
rem “start”关键字很重要 不然只能关闭现有的 才能打开新的程序
start AppDemo.exe
rem bat里没有sleep  只能用ping 语句代替
ping 127.0.0.1 -n 3  >nul
rem 注意 批处理中大于符号不能用:“>”,而用"gtr",   if 语句 不能换行  这个错误害死我了。
if %var% lss %input% goto s
goto start

:2
taskkill /f /im AppDemo.exe
echo 关闭完成
goto start

 

 

您可以选择一种方式赞助本站