我使用Excel VBA中的Shell命令来运行某个.bat文件。 CMD出现但在执行完所有行后自动退出。我已经将PAUSE命令添加到了蝙蝠的末尾。文件,但它不起作用。如何阻止命令提示符自动关闭?
答案 0 :(得分:1)
尝试使用/ K开关以防止在运行批处理文件后退出:
cmd / K“批处理文件的路径,包括文件名和扩展名”
e.g。
cmd /K "C:\FOLDER\BATCH FILE.BAT"
或
cmd /K "C:\FOLDER\BATCH FILE.CMD"
显然,这不会显示批处理代码的任何错误,但在运行后不会退出 - 与从命令行运行批处理文件非常相似。
在运行和排除故障时,一定要添加一些ECHO输出行来指示进度。也许在这里发布文件以获得更多帮助。
答案 1 :(得分:0)
尝试打开命令提示符并运行批处理文件。 dos shell可能遇到错误并关闭。如果在执行到达Pause命令之前出现错误,则它不会暂停以便您读取错误并立即关闭。
如果不能解决问题,请检查任何分支中是否有任何退出命令。或者,将echo语句放在不同的位置,并检查执行控制是否到达这些回声。通过这种方式,您可以查看您的脚本是否以其他分支结尾。
答案 2 :(得分:0)
虽然可能实际上没有回答发布的问题,但我在搜索一个非常相关的问题时偶然发现了这个问题。我也试图阻止命令提示关闭,因为它错误输出并立即关闭。对我来说,只要能够查看错误以便进行调试,我就可以查看输出了。
我找到的解决方案是将命令提示符的输出传递到文本文件中,如下所示:
MyScript.bat >> text.txt
这让我看到了我得到的错误。