无法暂停正在运行的批处理文件以等待中间用户输入

时间:2012-08-24 08:30:35

标签: batch-file dos prompt

我无法暂停正在运行的批处理文件以中间询问用户输入。我尝试过像PAUSESET /P aaa="Press enter to exit"这样的命令,但也是如下,但没有成功

@ECHO OFF

SET /p aaa="Press enter to exit"

ECHO you typed %aaa%

PAUSE

我的批处理文件在内部调用另一个批处理来构建基线根目录下的所有Visual Studio项目。

其中一个项目构建失败,最后它将<1>作为 BUILD FAILED 返回到主批处理文件处理器。这会立即终止MS DOS控制台,而不是等待用户输入。

我无法看到带有最终结果的MS DOS控制台窗口。

有很多步骤可以查看最终结果(将执行输出写入文本文件,如C:\CurrentApp\MyBuild>ABC.bat MyApp.New.BUILD > output.txt)但是我希望在MS DOS控制台屏幕中看到闪烁的光标等待任何用户输入密钥

我的批处理文件如下:

cd C:\CurrentApp\MyBuild

ABC.bat MyApp.New.BUILD 

SET /p aaa="Press enter key to exit"

PAUSE

@ECHO OFF

SET /p aaa="Press enter key to exit"

ECHO you typed %aaa%

PAUSE

1 个答案:

答案 0 :(得分:6)

您必须致电第二批:call ABC.bat MyApp.New.BUILD。否则控制传递给ABC.bat但永远不会返回,因此永远不会执行pause。您可以将其视为ABC.bat覆盖当前批处理内容然后执行自身。