バッチファイル起動時、実行確認のメッセージを表示させる方法

バッチファイル実行確認トップ IT
アイクス
アイクス

定期的な作業をバッチファイル化しておくと、簡単に実行することができて便利ですよね!

しかし、誤操作でダブルクリックした際に処理が即時実行されてしまうのも困ります・・・。

そこで!

そんな不安はバッチファイル冒頭に実行確認の処理を入れておくことで解消できます!

実行確認する処理を入れることで、もし間違ってダブルクリックしてしまっても確認メッセージが表示されて処理待ちの状態にしておくことが可能です。

今回は、バッチファイルをダブルクリックしても即座に実行されないように確認メッセージを表示する方法を紹介します。

バッチファイル内で実行確認処理を実装したい方へ!
初級者向け、バッチファイルの実行確認メッセージ表示から、入力値での処理分岐方法に関して解説します。

実行確認メッセージの表示

バッチファイルで実行したいメイン処理の前に以下のように実行確認の分岐を記述しましょう。

早速ですが、完成形は以下のようになります。

@echo off
SET /P ANSWER="処理を実行します。よろしいですか? (y/n)?"

if /i {%ANSWER%}=={y} (goto :y)
if /i {%ANSWER%}=={yes} (goto :y)
if /i {%ANSWER%}=={n} (goto :n)
if /i {%ANSWER%}=={no} (goto :n)

exit

:y

  echo 処理開始
  echo 実行しました!
  pause

  exit

:n
  echo 処理を終了しました!
  echo 処理を実行する場合は、再度バッチを実行してください。
  pause

  exit

上記の処理では、まずメッセージを表示させてユーザーの入力を待機しています。

以下の記述をすることで入力を待機することが可能です。

SET /P ANSWER="メッセージ内容"

”メッセージ内容”に記載している文字列が表示され、処理が一時的に止まります。

何かしらキーボードで文字を入力しEnterを押下することで処理が進みます。

入力内容によっての分岐処理

バッチファイル内ではその後、入力された内容によっての分岐処理を行なっています。

以下のようにifでANSWERの文字列を判定しています。

if /i {%ANSWER%}=={y} (goto :y)

もし入力した文字列が特定の条件に一致した場合、gotoの後に記載されているラベル(例では:y)の箇所に処理が移るという仕組みです。

完成例ではnoの場合に:nの処理に移っていますが、処理実行しない場合はそもそもメッセージ自体いらないよって時は:n用の分岐処理自体が不要となります。(その方がシンプル)

yとかyes、n、no以外の文字が入力された場合は9行目のexitでどちらにせよ処理終了するようにしています。

このexitを記述しておかないと、条件に当てはまらない場合に上から全部の処理を実行してしまうので、注意して下さい。

【Linuxコマンド学習者向け】

アイクス
アイクス

コマンド操作に慣れるには、やはり実践が一番・・・

実行環境を作るのはめんどう

だけど、実践的」に学びたい人へ

シミュレーターで実際にコマンドを実行しながら実践的に
\\学ぶことができるおすすめのサービスがこちら!//
無料コースもあり!

アイクス
アイクス

練習用の環境を構築する手間などなく、シミュレーターで実際にコマンドを実行して試せるっていうのが良いですね!

ぜひ上のリンクから詳細をチェックしてみてください!!

バッチファイルで確認メッセージを表示させる方法 まとめ

結構簡単な記述でメッセージを表示させて実行確認とキー入力内容での分岐処理を組み込むことができました。

バッチファイルのお手軽さもたまに書くと楽しいですね。(「たまに」というところが重要ですね)

アイクス
アイクス

以下の記事では、dirコマンドとリダイレクトについても解説しているので、ぜひあわせて読んでみてください!

コメント