我有一个使用schtasks创建计划任务的文件:
<?php
$cur_dt = new DateTime('now');
$cur_dt->add(new DateInterval('PT60S'));
$cmd = 'schtasks /create /sc once /ru uname /rp pwd /tn "repost_labor" /tr "' . $fname . '" /st ' . $cur_dt->format('H:i:s') . ' /sd ' . $cur_dt->format('Y/m/d');
exec($cmd, $out, $retval);
?>
所以它会生成如下所示的内容:
schtasks /create /sc once /ru uname /rp pwd /tn "repost_labor" /tr "myfile.bat" /st 12:52:12 /sd 2013/07/23
但是,即使尝试设置秒数,任务计划程序也会忽略它,只会添加小时和时间。分钟。因此,如果当前时间是12:51:12,而不是上面在12:52:12创建任务,则会在12:52:00创建它。
为什么Task Scheduler会忽略秒?
有解决方法吗?
谢谢!
答案 0 :(得分:0)
我还没有尝试过这个,但我认为可以通过创建一个xml任务文件然后使用:
来安排到第二个。schtasks /create /xml <filename>
因为您可以在xml中包含秒数。
答案 1 :(得分:0)
就放
:loop
SLEEP 1
your commands
GOTO loop
在批处理文件中,其中1是秒数,它将每1秒或您指定的时间执行一次循环功能。
不幸的是,schtask不能安排几秒钟。
有关SLEEP和批次延迟的更多信息: https://www.robvanderwoude.com/wait.php#SLEEP