148

我面临一个奇怪的问题。我已经安排了一个任务来启动一个批处理文件。当我使用选项运行任务时,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.
4

8 回答 8

282

我有同样的问题。

在 Microsoft 知识库文章 2452723 中找到了适合我的解决方案:

如果“开始于(可选)”字段中的路径包含引号,则 Windows Vista 及更高版本的计划任务将无法运行

基本上,编辑您的计划任务并将报价从“开始”字段中取出:

  1. 打开您的计划任务
  2. 切换到“操作”选项卡
  3. 打开你的行动
  4. 从“开始于(可选)”字段中删除引号 (")
  5. 保存并关闭所有打开的对话框

编辑动作对话框

要获取相关的错误消息:

1)将2147942667转换为十六进制:8007010B
2)取最后4位(010B)并转换为十进制:267
3)运行:net helpmsg 267
4)结果:“目录名无效。”

命令提示符窗口

于 2013-01-14T20:28:08.197 回答
10

对我来说,它是“开始”——我从旧服务器复制了值,并更新了新 .exe 位置的路径,但我忘记更新“开始”位置——如果它不存在,你也得到这个错误

从上面引用@hans-passant 的评论,因为调试这个问题很有价值:

将错误代码转换为十六进制得到 0x8007010B。7 使其成为 Windows 错误。这使得 010B 错误代码 267。“目录名称无效”。当然,会发生这种情况。

于 2017-04-27T05:23:02.270 回答
7

发生这种情况的原因不止一个。就我而言,这是由于权限问题而发生的。运行任务的用户没有写入日志目录的权限,因此失败并出现此错误。

于 2016-11-30T10:21:19.477 回答
3

我在Windows7上遇到了同样的问题。

我收到错误 2147942667 和无法运行 c:\windows\system32\CMD.EXE 的报告。我尝试在脚本和开始中使用和不使用双引号,但没有任何区别。然后我尝试用 UNC 引用 (\Server1\Sharexx\my_scripts\run_this.cmd) 替换所有对映射网络驱动器的路径引用,并为我修复了它。拍。

于 2017-02-06T10:22:44.227 回答
2

对于更通用的答案,将错误值转换为十六进制,然后在Windows 任务计划程序错误和成功常量中查找十六进制值

于 2014-11-19T14:16:13.250 回答
1

对我来说,这是“开始”——我不小心留在了程序名称末尾的“.py”中。而且我忘记大写它所在的文件夹的名称('Apps')。

于 2019-01-14T15:36:55.537 回答
0

对我来说,这是由于用户 PATH 环境变量,即使用户是正确的,它似乎也不起作用,所以我需要将整个可执行路径放入程序字段中。

于 2019-09-24T20:37:34.977 回答
0

对我们来说,它是“开始”路径中缺少的“:”。

于 2021-12-23T08:55:24.553 回答