任务计划程序声称它已运行但实际上并未运行

任务计划程序声称它已运行但实际上并未运行

我让任务计划程序每天晚上 11:55 启动一项任务 — — 5 台服务器上的设置相同。

昨晚我将同一项工作改为在凌晨 2 点和早上 7 点运行。

它也没有启动。我知道,因为它启动了一个 .bat 文件,该文件会将日期戳写入日志。日志不在那里。

当我转到Properties->时History,它会报告Task StartedTask Completed无论是在凌晨 2 点还是早上 7 点。

Right-click->RUN导致它立即运行,并且日志文件出现。

它之前每晚都在运行,所以显然所有的安全设置,“在用户注销时运行”(虽然我没有注销)等应该是正确的。

我遗漏了什么吗?

是否存在已知的任务计划程序可靠性问题?

我正在使用 Windows Server 2012 R2。谢谢。

答案1

问题出在时间戳上:

set datestamp=%date:~-4%.%date:~-10,-8%.%date:~-7,-5%_%time:~0,2%.%time:~3,2%.%time:~6,2%
echo %datestamp%
start /b "" cmd /c job_name.exe arg1 arg2 arg3 ^> nightly_%datestamp%.log 2^>^&1

在 AM 中,Windows 会在时间戳前添加一个空格:

2016.02.29_ 9.57.02
nightly_2016.02.29_ 9.57.02.log

这不能作为文件名。我通过添加一行将空格替换为下划线来更正此问题:

set datestamp=%datestamp: =_%

相关内容