私はこのようなバットファイルがあります:
ipconfig
それは画面にIP情報を出力しますが、ユーザーがその情報を読むことができる前にCMDはそれ自身を閉じます。
CMDはスクリプトが終了したと想定しているので、終了したと思います。
スクリプトの終了後にCMDを開いたままにする方法ありがとうございます。
コマンドの実行方法によっては、ウィンドウを開いたままにするためにcmd
の後に/k
を付けることができます。
cmd /k my_script.bat
.BATファイルの最後にpause
を付けます。
最後に@pause
を追加するだけです。
例:
@echo off
ipconfig
@pause
またはuも使えます:
cmd /k ipconfig
これらの回答を読んだ後に理解してもらうために少し私を導いた何かを明確にするために...
あなたは(文字通り) "cmd/k"に続けてあなたのコマンドをタイプしなければなりません。私は最初、 "cmd"がyourcommandに置き換えられると考えていました。そうではありません!
例えば、私はJavaコマンドを実行しようとしていました...
cmd /k Java myPackage.myClass
それは私が私の "System.out.println()"メッセージを見ることができるようにウィンドウを開いたままにした。
私はこの説明が誰かがそれを理解するのに要したおよそ3.5分を節約することを願っています。
最後に(Windows 7)でpause
を追加してもうまくいきませんでした
しかし、私のコマンドの前にcmd /k
を追加してもうまくいきました。
例:
cmd /k gradlew cleanEclipse
start cmd /k
は私のために魔法をしました。私は実際にそれがコマンドを実行し、結果を示し、そしてユーザーがそれを閉じるのを待つcordova phonegapアプリを準備するためにそれを使いました。以下は簡単な例です
start cmd /k echo Hello, World!
私が自分のケースで使ったこと
start cmd /k cordova prepare
更新
を使用して、このタイトルを付けることさえできます。
start "My Title" echo Hello, World!
コマンドラインでスクリプトを起動している場合は、CMDを開いたままにするためにexit /b
を追加します。
また、なぜ最初にcmd
を追加しているのかについて混乱していたので、最初にコマンドプロンプトを開く必要があるかどうかと思いました。あなたがする必要があるのはcmd /k
と一緒にfullコマンドをタイプすることです。たとえば、バッチファイルの名前が "javac my_code.Java
"を実行する "my_command.bat"であるとすると、バッチファイルのコードは次のようになります。
cmd /k javac my_code.Java
したがって、基本的に現在のフォルダで[コマンドプロンプト]を開いて上記のコマンドを入力する必要はありませんが、このコードを直接バッチファイルに保存して直接実行することができます。
javac -d C:\xxx\lib\ -classpath C:\xxx\lib\ *.Java
cmd cd C:\xxx\yourbat.bat
2番目のコマンドはcmdウィンドウを閉じないようにします。重要なことはあなたがまだ新しいコマンドを入力することができるということです
Windowsでは、ファイル内のコマンドの最後に「&Pause」を追加します。