プログラミング言語や環境設定を中心としたパソコン関連の技術メモです。
主にシステム開発中に調べたことをメモしています。TIPS的な位置付けで、気が向いたときにちまちま更新していきます。
Windowsバッチファイル(.bat)、処理が終わった後にウィンドウを閉じない
結論から書くと、バッチファイルの最後に

pause



cmd /k

を付けると、処理が終わった後のウィンドウが勝手に閉じなくなります。

「pause」を使った場合は、一時停止です。
何かキーを押すと、ウィンドウが消えます。

「cmd /k」を使った場合は、コマンドプロンプトに復帰です。
ウィンドウが残ります。

それでは詳細を書いていきます。

バッチファイルを「べちべちっ!」とダブルクリックして実行すると

コマンドプロンプト表示
 ↓
処理実行
 ↓
コマンドプロンプト終了

の流れになります。

諸般の事情により、最後の「コマンドプロンプト終了」を中止したかったのが今回のきっかけです。
つまり、処理終了後もウィンドウを残したかったのです。

普段は、実行結果を確認したい場合が多かったので

pause

を使って止めていました。
例えば

@echo off

echo hoge

pause

みたいなコードです。

この処理を実行すると、画面上に「hoge」と表示された後に

続行するには何かキーを押してください...

と表示されて、処理が止まります。
コマンドプロンプトは表示されたままです。
ただし、何かキーを押すとウィンドウが閉じます。

これはこれで便利なのですけどね。
今回はコマンドプロンプトをずっと残したかったのです。

どーすっぺかね(--?

ほんで、あれやこれやと調べた結果

cmd /k

を使えばいけそうだと分かりました。

早速やってみましょう。
バッチファイルの中身を以下のように変更して実行します。

@echo off

echo hoge

cmd /k

結果、画面上に「hoge」と表示された後にコマンドプロンプトに復帰しました。
ウィンドウが残るので、追加でぺちぺちコマンドを入力できます。

ということで、バッチファイル実行後にウィンドウを残したい場合は、処理の最後に

pause



cmd /k

を付けてください。

「pause」を付ければ一時停止です。
何かキーを押せば、ウィンドウが消えます。

「cmd /k」を付ければコマンドプロンプトに復帰です。
ウィンドウは消えません。

そんな感じ\(--)/
スポンサーリンク
 
このエントリーをはてなブックマークに追加 

category:コマンド/バッチ  thema:パソコンな日々 - genre:コンピュータ  Posted by ササキマコト