我面临一个奇怪的问题。我已经安排了一个批处理文件的任务。当我使用选项Run only when user is logged on
运行任务时,一切正常。但我想在后台运行此任务,因此我使用选项Run whether user is logged on or not
运行它。现在,当我运行任务时,它无法正常工作。我得到了2个错误。我不明白这个错误。请帮我解决这个问题。
Task Scheduler failed to launch action "C:\Windows\SYSTEM32\cmd.exe" in instance "{2a7cc950-fad9-4633-9701-af75a0fd220d}" of task "\stmm\Daemon". Additional Data: Error Value: 2147942667.
Task Scheduler failed to start instance "{2a7cc950-fad9-4633-9701-af75a0fd220d}" of "\stmm\Daemon" task for user "GBLADHEDANI\N011940" . Additional Data: Error Value: 2147942667.
答案 0 :(得分:217)
我有同样的问题。
我的解决方案可以在Microsoft知识库文章2452723中找到:
基本上,编辑您的计划任务并从“开始时间”字段中取出行情:
答案 1 :(得分:6)
对我来说,这是"开始" - 我从旧服务器复制了值,并更新了新exe位置的路径,但是我忘了更新"从"开始location - 如果它不存在,你也会得到这个错误
从上面引用@ hans-passant的评论,因为它有助于解决这个问题:
将错误代码转换为十六进制以获取0x8007010B。 7使它成为一个 Windows错误。这使得010B错误代码267."目录名是 无效&#34 ;.当然,这种情况发生了。
答案 2 :(得分:5)
出现这种情况的原因不止一个。在我的情况下,这是由于权限问题。该任务正在运行的用户没有写入日志目录的权限,因此失败并显示此错误。
答案 3 :(得分:3)
我在Windows7上遇到了同样的问题。
我收到错误2147942667以及无法运行c:\ windows \ system32 \ CMD.EXE的报告。我在Script和Start-in中尝试使用和不使用双引号,但它没有任何区别。然后我尝试将所有路径引用替换为映射的网络驱动器和UNC引用(\ Server1 \ Sharexx \ my_scripts \ run_this.cmd),并为我修复了它。 专利
答案 4 :(得分:2)
要获得更通用的答案,请将错误值转换为十六进制,然后在Windows Task Scheduler Error and Success Constants
处查找十六进制值答案 5 :(得分:0)
对我来说,这是“开始于”- 我不小心在程序名称的末尾留下了“ .py”。 而且我忘了大写它所在的文件夹的名称(“应用程序”)。
答案 6 :(得分:0)
对我来说,这是由于用户PATH环境变量导致的,即使用户正确,该变量似乎也不起作用,因此我需要将整个可执行路径放入program字段。