web-dev-qa-db-ja.com

BATファイルの実行後はCMDを開いたままにしてください

私はこのようなバットファイルがあります:

ipconfig

それは画面にIP情報を出力しますが、ユーザーがその情報を読むことができる前にCMDはそれ自身を閉じます。

CMDはスクリプトが終了したと想定しているので、終了したと思います。

スクリプトの終了後にCMDを開いたままにする方法ありがとうございます。

130
pattyd

コマンドの実行方法によっては、ウィンドウを開いたままにするためにcmdの後に/kを付けることができます。

cmd /k my_script.bat
130
Volti

.BATファイルの最後にpauseを付けます。

189
ElGavilan

最後に@pauseを追加するだけです。

例:

@echo off
ipconfig
@pause

またはuも使えます:

cmd /k ipconfig
45
user2637500

これらの回答を読んだ後に理解してもらうために少し私を導いた何かを明確にするために...

あなたは(文字通り) "cmd/k"に続けてあなたのコマンドをタイプしなければなりません。私は最初、 "cmd"yourcommandに置き換えられると考えていました。そうではありません!

例えば、私はJavaコマンドを実行しようとしていました...

cmd /k Java myPackage.myClass

それは私が私の "System.out.println()"メッセージを見ることができるようにウィンドウを開いたままにした。

私はこの説明が誰かがそれを理解するのに要したおよそ3.5分を節約することを願っています。

17
John Carrell

最後に(Windows 7)でpauseを追加してもうまくいきませんでした
しかし、私のコマンドの前にcmd /kを追加してもうまくいきました。

例:

cmd /k gradlew cleanEclipse
4
Robin

start cmd /kは私のために魔法をしました。私は実際にそれがコマンドを実行し、結果を示し、そしてユーザーがそれを閉じるのを待つcordova phonegapアプリを準備するためにそれを使いました。以下は簡単な例です

start cmd /k echo Hello, World!

私が自分のケースで使ったこと

start cmd /k cordova prepare

更新

を使用して、このタイトルを付けることさえできます。

start "My Title" echo Hello, World!

2
jafarbtech

コマンドラインでスクリプトを起動している場合は、CMDを開いたままにするためにexit /bを追加します。

1
Julito Sanchis

また、なぜ最初にcmdを追加しているのかについて混乱していたので、最初にコマンドプロンプトを開く必要があるかどうかと思いました。あなたがする必要があるのはcmd /kと一緒にfullコマンドをタイプすることです。たとえば、バッチファイルの名前が "javac my_code.Java"を実行する "my_command.bat"であるとすると、バッチファイルのコードは次のようになります。

cmd /k javac my_code.Java

したがって、基本的に現在のフォルダで[コマンドプロンプト]を開いて上記のコマンドを入力する必要はありませんが、このコードを直接バッチファイルに保存して直接実行することができます。

1
RustyCake
javac -d C:\xxx\lib\ -classpath C:\xxx\lib\ *.Java

cmd cd C:\xxx\yourbat.bat

2番目のコマンドはcmdウィンドウを閉じないようにします。重要なことはあなたがまだ新しいコマンドを入力することができるということです

Windowsでは、ファイル内のコマンドの最後に「&Pause」を追加します。

0
samadadi