什么原因导致计划任务错误 2147942402?

什么原因导致计划任务错误 2147942402?

Windows Server 2008 R2(已全面修补)

我正在尝试运行一项计划任务,将特定类型的文件从 C:\Windows\Temp 移动到 E:\Foo_blah_blah_blah_blah\Foo2,但由于某种原因,出现以下错误:

任务计划程序无法为用户“FOOBOX\Administrator”启动“\Move Temp Files”任务的实例“{fe0f148a-cece-44a0-a4d1-914aaf21daa8}”。附加数据:错误值:2147942402

知道为什么会发生这种情况吗?

额外细节:

  • 该任务配置为以具有移动文件权限的帐户运行。
  • 该任务配置为无论用户是否登录都运行。两种情况下都会失败 - 错误相同。
  • 该任务配置为在本地操作系统(Windows Server 2008)上运行
  • 该命令分为两部分。程序/脚本:move添加参数:C:\Windows\Temp\*.foo E:\Foo_blah_blah_blah_blah\Foo2\

move C:\Windows\Temp\*.foo E:\Foo_blah_blah_blah_blah\Foo2\如果我从 Windows 命令提示符运行相同的命令,它可以正常工作。

我错过了什么?

答案1

正如 Ryan Ries 指出的那样,2147942402 翻译为“文件未找到”——这是一个非常合适的回应。尝试按下 Win+R,输入“移动”并按回车键——这就是您的任务未能完成的交互等效内容。

原因是MOVE不是一个程序,而是一个本机命令cmd

它应该是:

程序:"cmd.exe"
参数:"/c move C:\Windows\Temp\*.foo E:\Foo_blah_blah_blah_blah\Foo2\"

答案2

原因是:任务配置为在不再安排运行时删除。这在“设置”选项卡中配置。任务的删除是在触发任务的触发器的到期时间完成的。如果触发器的到期时间与触发器的开始时间完全相同,则可能会(偶然)发生任务在其触发器触发前几秒钟被删除的情况。这会导致事件 101,原因代码为 2147942402。解决方案是将触发器的到期时间设置为比触发器的开始时间晚 1 分钟。

答案3

使用 Powershell,在命令中指定完整路径,例如 C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe

答案4

Matthias 发布的答案帮助我解决了我的问题。

我把整个命令行、路径和参数都放在了“程序”字段中;我没有注意到有一个单独的“参数”输入字段。当我把参数分开并单独输入时,我的计划任务运行得非常顺利。

诊断:操作系统正在寻找一个调用的程序,"C:\bin\someprog.BAT connect keep"而不是寻找"C:\bin\someprog.BAT"并使用参数调用该程序connect keep

我的错误,现已修复。

相关内容