可以从命令行成功运行 .exe,但不能从任务计划程序运行

Posted

技术标签:

【中文标题】可以从命令行成功运行 .exe,但不能从任务计划程序运行【英文标题】:Can run an .exe successfully from command line, but not from Task Scheduler 【发布时间】:2016-08-03 08:26:39 【问题描述】:

我可以从命令行运行 .exe,但是当我尝试使用任务计划程序运行它时,我收到错误“系统找不到指定的路径。(0x80070003)”

我在服务器上运行它,所以我尝试映射驱动器并使用完整路径。这两种方法都使用命令行。

这就是我设置要运行的程序/脚本的方式:

D:\scripts\lilt\NewFile.exe \err00\root\LILT\ILL\ \pcc02\Inter\I040\ILL\Inbox\"

我需要做什么才能让它在调度程序上运行?谢谢!

【问题讨论】:

任务在哪个用户帐户下运行? @ChrisFannin 我正在使用管理员帐户。我已使用此帐户成功运行服务器上当前的所有其他任务。谢谢。 那个错误是PATH_NOT_FOUND,所以显然运行任务的帐户看不到那个驱动器或目录。 您提到映射驱动器。是否有任何重新连接延迟或类似情况发生?我已经发生过太多次了,它会导致应用程序认为它无法找到,而只是 Windows 一直在阻塞它。如果你想测试它,你可以写一个BAT文件来检查每个部分是否存在,并将结果输出到一个文本文件。然后,您可以将其配置为针对cmd.exe 运行的任务以查看会发生什么。 当您说I am running this on a server 时,您的意思是该任务被安排在服务器的任务调度程序上,还是您正在尝试运行在服务器上找到的可执行文件? 【参考方案1】:

我想通了。我必须使用“添加参数(可选)”部分来指示驱动器,而不是将其放在操作行中。 (作为一些历史,我正在将此任务从 PC 移动到服务器,并且 PC 将所有内容都放在一行中,同样,当从服务器上的 cmd 运行时,我可以在一行上成功执行它,但是一旦你将其作为一项任务,它的行为就会有所不同。

所以这进入了“行动”: D:\scripts\lilt\NewFile.exe

这进入了添加参数(可选): \err00\root\LILT\ILL \pcc02\Inter\I040\ILL\收件箱

【讨论】:

是的,这是正确的做法。例如,我有一个手动执行的任务,它在我的项目文件夹中打开开发人员提示。 “程序/脚本”设置为%windir%\System32\cmd.exe,“添加参数”设置为/c start "%cd%" "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcvarsall.bat",“开始于”设置为C:\path\to\my\trunk。当我详细查看它时,它将它们组合在一起为%windir%\System32\cmd.exe /c start "%cd%" "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcvarsall.bat"

以上是关于可以从命令行成功运行 .exe,但不能从任务计划程序运行的主要内容,如果未能解决你的问题,请参考以下文章

可以从命令行运行 C++ 代码,但不能从 Visual Studio 中的调试模式运行

vb.net 运行 gpg.exe 作业步骤从 PC 运行正常,但不能从 SQL Server 代理计划运行

使用任务计划程序创建任务以使用命令运行 cmd.exe

Windows 计划任务成功但返回结果 0x1

windows exe程序点击可以运行,但任务计划时程序不运行

使用 JAVA 从命令行运行 Symantec End Point DoScan.exe