2013-04-20 130 views
0

我正在修改一個使用AT命令的WinXP批處理文件來安排一些互動的,相當長的活動(以及後來殺死他們產生的進程)來使用Win7的SCHTASKS版本(因爲AT在Win7中沒有更長時間支持/交互標誌),例如翻譯AT到SCHTASKS:如何避免重複?

at 00:59 /interactive /every:Monday "h:\bin\scrape.bat"

at 03:02 /interactive /every:Monday "h:\bin\kill_scrape.bat"

喜歡的東西:

schtasks /Create /TN SCRAPER /IT /ST 00:59 /K /ET 03:02 /ST: 04:02\

   /SC WEEKLY /D MON /TR "h:\bin\scrape.bat" 

...這似乎是簡單的,因爲它會直接使用調度殺計劃的活動(如果我理解/K是如何工作的s與/ET/DU。以上的工作,但任務重複默認間隔10分鐘。使用/RI選項,我可以給這個重複間隔長達122分鐘......但它仍然可以在{125分鐘}分鐘重複,我收集,我不想那樣..並且有很多行要翻譯,而且我的elisp還不夠好,無論如何都不能從所有任務持續時間中減去一分鐘。 SCHTASKS中是否有任何選項可以避免任何重複計劃的任務?非常感謝。

回答

0

我相信你需要的是一個時間表選項(/SC)。 有效的計時選項是daily,weeklymonthly,'分鐘','每小時',具有明顯的效果。

如果您想要在任何時候只運行一次任務,/SC once將會執行此操作。添加/Z選項也會爲您刪除該任務。

如果這些選項都不能滿足您的需求,那麼您應該可以使用/RI(運行間隔)開關來設置任務要重複的確切分鐘數。我不確定XP的最大間隔時間是多少,但至少應該是一天,而Windows 7的最大時間間隔是599940分鐘,即416天。

,你會想要什麼的一個例子是這樣的:

schtasks /Create /TN SCRAPER /IT /ST 01:00 /ET 03:01 /K /SC WEEKLY /D MON /TR "h:\bin\scrape.bat" 
schtasks /Create /TN ender /IT /ST 3:00 /K /SC WEEKLY /D MON /TR "h:\bin\end.bat" 

哪裏scrape.bat是初步方案,並end.bat殺死所有進程。