嗨,我是批处理的新手,我遇到了一个问题。我要做的是写一个批处理文件,它会反复运行命令test.exe 24小时。一旦24小时计时器到期,程序将退出。
我不熟悉批次,并想知道如何做到这一点。
答案 0 :(得分:3)
请尝试以下代码。使用ping作为计时器并使用查找开关将其隐藏在后台 您可以通过使用ping命令修改计时器,并使用%n%变量退出播放 此代码大约每30分钟重新运行一次测试,仅运行4次
@Echo off
SET n=0
:Loop
SET /A n=n+1
test.exe
Ping 1.1.1.1 -n 1000 -w 1 | find /V "Request timed out" | find /V "Ping" | find /V "Packets"
if %n% EQU 4 (
exit
) Else if %n% LEQ 3 (
Goto Loop
)
答案 1 :(得分:1)
在批处理文件中使用标签来创建循环。在循环内部,执行test.exe。
对于24小时执行期,我相信您可以创建计划任务来启动和停止执行。一旦计划的任务结束,我不确定退出的优雅程度。
答案 2 :(得分:0)
Dunno如果另外一个是可行的......从未尝试过...但这是我的镜头。
@Echo off
FOR /F "tokens=1" %%F IN ('ECHO %date%') DO (
set day=%%F
)
FOR /F "tokens=* delims=:." %%F IN ('ECHO %time%') DO (
set thetime=%%F
)
:Loop
START /B "test.exe"
FOR /F "tokens=1" %%F IN ('ECHO %date%') DO IF %date%==%day% IF %time% GEQ %thetime% (
GOTO Loop
) Else (
IF NOT "%date%"=="%day%" IF %time% LEQ %thetime% (
GOTO Loop
) ELSE (
IF NOT "%date%"=="%day%" IF %time% GRT %thetime% (
GOTO:EOF
)
)