コマンドプロンプトでバッチ実行時、画面を自動で閉じないようにする方法|pause・startの場合

目次

スポンサードリンク

コマンドプロンプトは、バッチファイルをダブルクリックで実行した場合や、.cmd や .bat ファイル内で処理がすぐ終了した場合、自動的にウィンドウが閉じられてしまいます。 特に、結果を見たいだけなのに一瞬で閉じてしまって困ることがあります。

コマンド実行後に画面を閉じない方法(pause)

最もシンプルな方法は、pause を使う方法です。以下のようにバッチファイルの処理中に pause と記述すると、直前のコマンドを実行した状態で画面を表示したままにできます。

@echo off
echo Hello, world!
pause

このバッチファイルを実行すると、以下のように表示され、ユーザーがキーを入力するまでウィンドウが閉じません。基本的にはバッチファイルの最後の行に追加すればOKです。

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

startコマンドで新しいウィンドウを開く方法

startコマンドは、別ウィンドウで処理を起動することができます。start コマンドの /k オプションは「実行後もウィンドウを開いたままにする」オプションです。この方法でもバッチを実行した際の表示を確認することができます。

C:\Users>start cmd /k test.bat

ターミナルの設定を変更する方法

Windows Terminal(新しいターミナルアプリ)では、設定により実行後に自動的に閉じるかどうか設定することができます。

タブ上の▼から設定を開き、「プロファイル」→「既定値」→「詳細設定」を開きます。

プロファイルの終了動作という項目が「自動」になっているので、「自動的に閉じない」に変更して保存しましょう。

下記は実行例です。終了コードが表示され、正常終了したか確認することができます。また、画面が自動で閉じることもないので、表示内容を確認することができます。

C:\Users>echo hello
hello

[プロセスはコード 0 (0x00000000) で終了しました]
このターミナルを Ctrl+D で閉じるか、Enter キーを押して再起動できます。

画面が一瞬で消えて困る現象は、ちょっとした対策で防げます。処理結果を確認したい場面では、pause や /k の活用が便利ですね。


コマンドプロンプトのポケットリファレンス:Windows11対応版
Windows環境で開発やシステム管理を行うエンジニアにとって、コマンドプロンプトの知識は非常に重要なスキルセットです。こちらの書籍は初心者にもわかりやすく網羅的です。手元に置いておきたい一冊です。

PowerShellの基礎を一通り学べるおすすめ書籍