【问题标题】:Schedule .bat isn't executing VBScript properlySchedule .bat 未正确执行 VBScript
【发布时间】:2011-09-30 13:37:53
【问题描述】:

所以我有两件事要做:一个检查某些文件夹状态的程序,然后是一个 VBScript,它会在之后运行,通过电子邮件将所述文件夹中发生的任何错误发送给收件人。即使没有,也应该发送“无错误”电子邮件。

他们两个单独工作都很好。 checker .exe 程序运行没有问题,当我自己运行 VBScript 时,它会发送它应该发送的所有电子邮件。但是,我将以下内容放入 .bat 文件中,以在晚上 11 点运行:

"C:\batch\night_monitor\checker.exe"
"C:\batch\night_monitor\emailer.vbs"

由于某种原因,当批处理文件运行时,只有五分之一的电子邮件会发出。默认情况下,所有标志都设置为 true,当我查看日志文件时,我看到 emailer.vbs 只检查 2 个错误日志而不是 5 个。就像我说的那样,如果我只是自己运行。我在这里缺少什么重要的东西吗?

【问题讨论】:

    标签: vbscript batch-file scheduled-tasks


    【解决方案1】:

    试试这个..

    @ECHO OFF
    START "Checker" /WAIT "C:\batch\night_monitor\checker.exe"
    START "Emailer" /WAIT "C:\batch\night_monitor\emailer.vbs"
    

    从命令行运行 START /? 以查看所有选项。

    【讨论】:

      【解决方案2】:

      emailer.vbs 启动时,您的 checker.exe 似乎没有完成。

      尝试按顺序运行您的程序:

      "C:\batch\night_monitor\checker.exe" & "C:\batch\night_monitor\emailer.vbs"
      

      ...或仅当checker.exe 执行成功时才执行emailer.vbs

      "C:\batch\night_monitor\checker.exe" && "C:\batch\night_monitor\emailer.vbs"
      

      另一种选择是从emailer.vbs 内部调用checker.exe,以确保在您访问错误日志之前它已经完成。

      【讨论】: