3

我无法暂停正在运行的批处理文件以在中间询问用户输入。我尝试了类似PAUSEandSET /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
4

1 回答 1

6

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

于 2012-08-24T11:21:32.913 回答