【发布时间】:2016-06-15 21:01:16
【问题描述】:
我有一个 Windows 服务器,用于执行邮政信件的邮件合并。 外部服务器生成 xls 数据表并将它们 SFTPS 到我的 Windows 服务器,以及带有进一步说明的 JSON 文件:
- 要合并的信函(docx 文件)
- 用于发送合并信件 PDF 的电子邮件地址。
脚本的工作方式如下: 1. 持续(每 60 秒)监控 JSON 文件的目录。 -> 2.如果有JSON文件,解析它。 -> 3. 查找与该 JSON 文件相关的 XLS 文件 -> 4. 运行 VBA/EXCEL 宏将 XLS 和信函合并成 PDF -> 5. 通过电子邮件将 PDF 发送给适当的联系人 -> 6. 将 XLS 文件移动到已处理文件夹 7. 将 JSON 文件移动到已处理文件夹
如果我从命令行手动运行它就可以了。但是,如果我从任务计划程序运行它,无论是使用“RUN”还是在机器重新启动或给定用户登录脚本失败时自动运行。步骤 1、2 和 3 有效。 VBA 代码/宏无法工作。
我希望这可以通过配置任务计划程序来解决。这是我目前的设置:
脚本从 bat 文件运行,消息脚本保持打开 CMD 窗口,解释脚本正在做什么:
cscript C:\automerge\message.vbs
cscript C:\automerge\automerge.vbs >> C:\automerge\logs.log
任务计划程序设置: 仅在用户登录时运行 以最高权限运行 为 Windows 10 配置(也尝试使用 7 和 8)
触发器: 登录时触发 - 启用
行动: 启动程序 细节: "C:\AutoMerge\JSON Watch.bat"
条件: 仅在计算机使用交流电源时启动任务 如果计算机切换到电池供电则停止
设置: 允许任务按需运行 如果正在运行的任务在请求时没有结束,则强制它停止
谁能给我建议如何更改计划任务或批处理文件以使其正常工作?
【问题讨论】:
-
您需要出示您的代码。
-
@Noodles 理想情况下,这确实属于 SuperUser 堆栈,因为它是一般的 Windows 调度任务问题与代码问题。
-
也许不是。特别是我想看看是否正在使用任何依赖于配置的东西,比如映射驱动器。
标签: windows vba batch-file vbscript scheduled-tasks