如果未完成,则运行批处理和错误报告的自动化任务



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

我设置这个没有问题,但我们现在手动执行的唯一原因是为了防止批处理没有完成。

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

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

我们非常感谢任何关于更好解决方案的建议,或者如果可能的话。

谢谢,Simon

编辑:

添加了与批处理相关的标记,因为我是通过批处理文件完成这一切的,另一个选项可能是在我的scipts中添加一些代码,检查运行时并报告错误,如果它运行了2个小时,则终止。

然而,我不知道如何做到这一点,我会做一个谷歌,但如果有人知道一种方法,这可能是另一种选择。我知道我必须先发布一些我尝试过的代码,然后再问";什么脚本";我能用吗?所以我先试试。

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

你要做的事情:

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

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

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

最新更新