UnsplashのAsh from Modern Afflatusが撮影した写真
データを更新するバッチを誤って実行してしまい大惨事に。。
とならないよう、バッチ実行時に処理を継続するか否かのアラートを表示させるバッチの例です。
OS:Windows11 Pro
このようなアラートを実装します。
以下をバッチの冒頭にコピペするだけで、誤ってバッチ実行しないようにアラートを表示させることができます。
※2か所にある「pause」は動作確認用です。実際に使う際は削除してください。
@echo off
chcp 65001
rem アラートを表示する (戻り値は%ERRORLEVEL%で受け取る はい⇒6、いいえ⇒7)
powershell -Command "Add-Type -AssemblyName System.Windows.Forms;$result = [System.Windows.Forms.messageBox]::Show('処理を継続しますか?','','YesNoCancel','Warning');exit $result;"
rem 「[はい]を押す」以外の操作がされたら処理終了
if not %ERRORLEVEL% == 6 (
echo '処理を中断します'
pause
exit /B;
)
echo '処理を継続します'
pause
アラート自体はPowerShellの機能を使用して表示させています。
以上です。