3

実行中のバッチファイルを一時停止して、ユーザー入力を途中で要求することができませんでした。次のようなコマンドを試しましたが、何もうまくPAUSEいきませんでした。SET /P aaa="Press enter to exit"

@ECHO OFF

SET /p aaa="Press enter to exit"

ECHO you typed %aaa%

PAUSE

私のバッチファイルは内部で別のバッチを呼び出して、ベースラインのルートの下にすべてのVisualStudioプロジェクトをビルドします。

プロジェクトビルドの1つが失敗し、最後にメインバッチファイルプロセッサにBUILDFAILEDとして「1」が返されます。これにより、MS DOSコンソールがすぐに終了し、ユーザー入力を待機しません。

最終結果が表示されたMSDOSコンソールウィンドウが表示されません。

最終結果を確認するにはさまざまな手順があります(実行出力をテキストファイルに書き込むなど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

2番目のバッチを呼び出す必要があります:call ABC.bat MyApp.New.BUILD。それ以外の場合、制御はABC.batに渡されますが、戻らないため、pause実行されることはありません。ABC.batが現在のバッチの内容を上書きしてから、それ自体を実行していると考えることができます。

于 2012-08-24T11:21:32.913 に答える