可以使用schtasks将任务安排到第二个任务吗?

时间:2013-07-23 19:15:41

标签: windows windows-server-2008 scheduled-tasks

我有一个使用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会忽略秒?

有解决方法吗?

谢谢!

2 个答案:

答案 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