2

我有一个使用 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 创建它。

为什么任务计划程序忽略秒?

有解决方法吗?

谢谢!

4

2 回答 2

0

我实际上还没有尝试过,但我认为可以通过创建一个 xml 任务文件然后使用来安排第二个:

schtasks /create /xml <filename>

因为您可以在 xml 中包含秒数。

于 2013-08-16T16:42:21.720 回答
0

就放

:loop
    SLEEP 1
    your commands
GOTO loop

在您的批处理文件中,其中 1 是秒数,它将每 1 秒执行一次循环函数,或者您指定多少。

不幸的是,schtasks 无法以秒为单位进行调度。

有关 SLEEP 和批处理延迟的更多信息: https ://www.robvanderwoude.com/wait.php#SLEEP

于 2020-01-14T23:06:29.417 回答