Windowsでバッチファイルを使っていると、たまにメッセージボックスを表示させたくなる場合があります。バッチスクリプトのみで実現することもできますが、近頃のバージョンならばPowerShellを併用したほうが楽です。
単純な方法として、PowerShellコマンドラインでCOMオブジェクトを呼び、メッセージボックスを表示させます。
また、メッセージボックスでユーザが選択した結果を拾うため、キャンセルボタンが選択された場合には例外を投げさせます。直前のpowershellコマンド列で例外が発生したか否かはERRORLEVEL
に結果が格納されているので、メッセージボックスでの選択結果を拾ってその後の条件分岐が可能になるという寸法です。
1 2 3 4 5 6 7 8 9 10 11 12 13 | @echo off set msg='message box content here' set ttl='custom message box' powershell "if((New-Object -com WScript.Shell).Popup(%msg%,0,%ttl%,1) -ne 1){throw;};" > nul if not %ERRORLEVEL% == 0 ( echo canceled exit /B ) else ( echo accepted ) echo continue procedure... |
おわり。