我想仅在特定时间(范围)内运行批处理。仅在特定时间运行的批处理文件
例如,这个想法是让它从07:00 AM运行到06:00 PM。
我知道%TIME%
返回当前时间,现在缺少的是检查此值的方法,如果她在范围内,批处理将执行,否则该批将停止在那里。
我想仅在特定时间(范围)内运行批处理。仅在特定时间运行的批处理文件
例如,这个想法是让它从07:00 AM运行到06:00 PM。
我知道%TIME%
返回当前时间,现在缺少的是检查此值的方法,如果她在范围内,批处理将执行,否则该批将停止在那里。
这为我工作(Win7的):
FOR/F “令牌= 1-3 delims =” %%一个在( “%时间%”)做,如果%%一个GEQ 7如果%%一个当量18回声你好
您可以更改echo hello
像goto ok
什么,接下来的两行是例如goto end
和:ok
。
如果直接在命令提示符下尝试,请不要忘记将其粘贴到批处理文件或使用%a而不是%% a。
我有一个非常简单的解决方案,但它确实需要一定数量的处理能力才能读取。我用它作为有些早晨报警:
@echo off
Cls
echo minutes
set /p tock=
cls
echo seconds (max 60)
set /p tick=
if %tick% gtr 60 set tick=60
:sec
choice /c jn /N /t 1 /d j
IF errorlevel 2 goto pause
cls
if %tick%==0 goto min
set /a tick=%tick% - 1
echo %tock%:%tick%
goto sec
:min
if %tock%==0 goto exec
set tick=60
set /a tock=%tock% - 1
goto sec
:pause
cls
echo %tock%:%tick%
Echo PAUSED! (any key to continue)
PAUSE >nul
cls
echo %tock%:%tick%
goto sec
:exec
<put any command here>
exit
谢谢您的回复,但是事情很奇怪, 我改变回声你好通过电子邮件藤(我想发送电子邮件或没有)然后写一个名为:电子邮件的部分,发送邮件的选项。最终 但是电子邮件总是发送出去,即使我们的时间范围之外...... 看起来像这样:: FOR/F“令牌= 1-3 delims转到结束 那么,在年底后=:” %%一个在( “%时间%”)做,如果%%一个GEQ 7如果%%一个当量18转到电子邮件 :电子邮件 REM **激活电子邮件** CMD/C sendemail -f email1等...“ 转到底 :结束 –
忘记我的评论我发现了什么是错的:) –
另一个问题,我们是否也可以检查一天运行它只从星期一到星期五,即? –