2012年11月18日 星期日

windows工作排程器,重覆工作時間設到秒?

windows 的工作排程器,觸發的時間間隔最小只能選5分鐘,
手動輸入也只能從5分鐘改成1分鐘。
如果需要每隔幾秒就執行的工作,便無法設定。
我的作法,則是另外寫個批次檔,
使用 timeout 指令配合 goto,設定每經過幾秒,重覆執行某段程式。

以下的範例效果,則是設定每隔10秒,將開始執行與結束執行的時間,寫到"C:\bat_log\日期.txt"檔案。
@echo off
 
:aaa
REM 分析目前日期 
for /f "tokens=1-4 delims=-/ " %%i IN ("%date%") DO (
 set year=%%i
 set month=%%j
 set day=%%k
)

REM 設定 log 檔,目前日期當作 log 檔名
SET fname=%year%-%month%-%day%
SET fname=%fname: =0%
SET fname=C:\bat_log\%fname%.txt
 
echo start: %date% %time% >> %fname%
echo 要執行的程式... >> %fname%
echo end: %date% %time% >> %fname%
 
REM  程式結束
 
REM  下面設定暫停10秒後再繼續執行aaa
timeout  /t 10 /nobreak
goto aaa

pause

其他說明:
  • SET fname=%fname: =0%
    =>將變數中的空白用 0 取代。

沒有留言:

張貼留言