2013-04-20 107 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杀死所有进程。