如何使用VBA运行命令提示并在失败时重新启动?

时间:2010-09-25 03:11:21

标签: windows perl vbscript

我是一名Perl程序员,有一些很好的脚本可以使用cURL获取HTTP页面(来自文本文件列表的URL)并将它们保存到文件夹中。

然而,要获得的页数是数千万。有时脚本在170,000号上失败,我必须再次手动启动脚本。它会自动读取URL并查看是否有下载的页面并跳过。但是,有几十万,它仍然需要几个小时才能跳回到它停止的地方。显然,这最终不会成功。

所以,我认为解决方案是构建一个Visual Basic程序,打开命令提示,收集控制台输出,并在最后一个错过的号码时根据需要重新启动脚本。

我从未制作过VB程序,但我听说它是​​蛋糕。我可以得到一个外行解释如何执行此操作(打开提示,发送命令,捕获输出,重新启动提示)?或者有更好的方法来解决我的问题吗?

2 个答案:

答案 0 :(得分:3)

改变你的工作方式。维护页面队列以在脚本外部进行检查。当您选中一个时,将其标记为已查看并记录您选中它的日期。

重新启动脚本时,将队列重置为仅在时间窗口外标记为已检查的页面。

数据库可能会派上用场。

修复问题,你不必在问题上构建大量垃圾。

您说有时您无法创建目录。这应该是一个容易捕获的问题。但是,这并不意味着您可以在脚本中忽略它。没有错误是可以恢复的,但至少你可以记录问题,以便你可以调查。你是如何创建目录的?

答案 1 :(得分:1)

我的建议是忘记VBA和cURL,并使用LWP或Mech perl模块来获取您的页面。然后,您可以在脚本中正常处理错误,而无需使用VB。