我想僅在特定時間(範圍)內運行批處理。僅在特定時間運行的批處理文件
例如,這個想法是讓它從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等...「 轉到底 :結束 –
忘記我的評論我發現了什麼是錯的:) –
另一個問題,我們是否也可以檢查一天運行它只從星期一到星期五,即? –