【问题标题】:EXE is not Executing from Schedule TaskEXE 未从计划任务执行
【发布时间】:2016-01-14 20:31:05
【问题描述】:

当我通过双击执行它时,我的 EXE 执行得非常好,但是当我尝试通过计划任务运行它时它没有执行。

我以管理员身份在本地计算机上运行计划任务。我已经在计划任务的“安全选项”中设置了以下设置。

  1. 仅在用户登录时运行(我在调度任务运行时登录)

  2. 以最高权限运行复选框被选中

【问题讨论】:

  • 尝试使用完整路径\名称指定myEXE
  • @stephan 是的,我在计划任务中提供了 exe 的完整路径和名称,但它仍然无法正常工作:-(

标签: batch-file scheduled-tasks


【解决方案1】:

在我的情况下,由于程序的启动位置,它没有工作。 使用exe文件所在的路径设置计划任务的[Start in](可选)属性。

默认 [Start in] 值为 C:/Windows/System32

【讨论】:

    【解决方案2】:

    根据您在哪个 Windows 操作系统上运行,您的 EXE 可能实际上已经启动并在后台运行,用户界面完全隐藏。根据您尝试运行的 EXE,它可能会坐在那里,隐藏,等待用户输入,但永远不会得到。如果您的 EXE 不需要任何用户输入(只是运行,然后在完成时关闭),那么您可能只是检查工作是否实际完成。

    我用来验证这一点的一个技巧是创建一个像这样的小批量程序:

    @echo off
    echo myEXE Scheduled Task Started %DATE% %TIME% >>c:\myEXE.log
    myEXE.exe
    echo myEXE Scheduled Task Completed %DATE% %TIME% >>c:\myEXE.log
    

    让您的计划任务直接调用此批处理脚本而不是 myEXE。这将生成一个文本文件 (myEXE.log),您可以检查该文件以验证计划任务何时开始,以及 EXE 何时(以及是否)完成。

    只是为了好玩(并测试我在说什么),您可以在批处理脚本的末尾添加这些行。

    pause
    echo Batch Script Finished %DATE% %TIME% >>c:\myEXE.log
    

    如果您永远不会看到等待您发送 Press any key to continue... 的 cmd 窗口,那么您也永远不会看到日志文件 (myEXE.log) 中的最后一行

    【讨论】:

    • 嗨@Wes Larson,很抱歉我没有在我提出的问题中解释完整的情况。实际上,当我通过双击运行 exe 时,它​​工作得非常好。当我双击它时,它会打开一个命令提示符窗口,它还会创建一个日志文件(exe 的目的是查看笔记本电脑的电池状态并通过将电池百分比写入其中来创建一个日志文件)。但是当我通过计划任务运行它时,只会打开命令提示符窗口,但它不会创建日志文件(它应该创建)。所以我可以说计划任务没有正确运行 exe
    • 我还想告诉你,exe 根本不会期待用户的任何输入。我也在以管理员身份运行计划任务。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-06
    • 1970-01-01
    • 1970-01-01
    • 2015-11-12
    • 2017-08-22
    相关资源
    最近更新 更多