0

我有一些我们目前在本地机器上手动运行的批处理脚本。我计划将这些脚本移动到我们的 Windows 2003 服务器上,并使用调度程序设置一个自动化任务,每 4 小时运行一次。

我设置它没有问题,但我们目前手动执行此操作的唯一原因是以防批处理未完成。

有没有办法让调度程序检查批处理是否已完成运行以及是否还没有运行另一个事件?

我想它可能需要某种时间框架,比如如果它没有在 1 小时内完成报告问题,因为有时脚本可能需要很长时间。

任何关于更好解决方案的建议或如果可能的话,我们将不胜感激。

谢谢,西蒙

编辑:

添加了与批处理相关的标签,因为我是通过批处理文件执行此操作的,因此另一个选项可能是在我的 scipts 中添加一些代码,以检查运行时并报告错误并在运行 2 小时后终止。

然而,我不知道如何做到这一点,会做一个谷歌,但如果有人知道一种方法,这可能是另一种选择。我知道在询问“我可以使用什么脚本”的问题之前,我必须先发布一些我已经尝试过的代码,所以我会先尝试一些东西。

4

1 回答 1

0

看看“期待”的语言。http://sourceforge.net/projects/expect/ 这是 tcl/tk 的扩展,提供了很多可以完美地用于运行自动化测试或控制(远程)脚本和应用程序的东西。

你做的事情:

编写一个脚本,您可以在其中执行一些操作,例如启动应用程序或 shell 或运行批处理。然后,您有一个循环,其中包含成对的预期输入和动作,如果这些输入被捕获,则应执行这些动作。而且还有一个超时条款!

Expect 本身可以在我知道的所有平台上运行,并且脚本可以移植到所有操作系统。

我们使用它来运行 telnet 会话、运行应用程序和批处理,并通过串行/USB/网络链接监控 DUT 的反应。它非常灵活且易于使用。我们还使用 expect 作为许多基于 gtest 的单元测试的主脚本。

于 2013-09-05T08:19:14.587 回答