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

3

我无法在运行批处理文件时暂停以等待用户输入。我已尝试使用诸如PAUSESET /P aaa="按enter键退出"等命令,还尝试了以下命令,但都没有奏效

@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个回答

6

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接