执行批处理文件后停止命令提示符关闭

时间:2013-11-02 05:20:27

标签: vba batch-file cmd

我使用Excel VBA中的Shell命令来运行某个.bat文件。 CMD出现但在执行完所有行后自动退出。我已经将PAUSE命令添加到了蝙蝠的末尾。文件,但它不起作用。如何阻止命令提示符自动关闭?

3 个答案:

答案 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

这让我看到了我得到的错误。