バッチファイルでメッセージボックスを出す(その2)

スポンサーリンク

バッチファイルからメッセージボックスを出す方法です。
バッチから PowerShellを呼び出し、そこでメッセージボックスを出します。

画像

実行サンプルです。記事冒頭の画像のメッセージボックスが出ます。

@powershell -Command "Add-Type -AssemblyName System.Windows.Forms;$result = [System.Windows.Forms.MessageBox]::Show(\"メッセージ文1`nメッセージ文2`nメッセージ文3\", 'タイトル', 'YesNoCancel', 'Asterisk');exit $result;"
@echo 戻り値は %ERRORLEVEL% です
pause

メッセージボックスの表示では、メッセージ文、タイトル、ボタン、アイコンを指定できます。
書式は次のものです。

@powershell -Command "Add-Type -AssemblyName System.Windows.Forms;$result = [System.Windows.Forms.MessageBox]::Show(\"<em>メッセージ文</em>\", '<em>タイトル</em>', '<em>表示するボタン</em>', '<em>表示するアイコン</em>');exit $result;"

メッセージ文 は、\” で括ると、「`n」で改行できます。

表示するボタン は、次の値を指定します。
どのボタンが押されたかは、実行サンプルのようにすると、バッチの %ERRORLEVEL% で取得できます。
指定する値で表示されるボタンと値の関係は、次のようになります。()内が %ERRORLEVEL% の値です。

  • AbortRetryIgnore
  • 中止(3)
    再試行(4)
    無視(5)

  • OK
  • OK(1)

  • OKCancel
  • OK(1)
    キャンセル(2)

  • RetryCancel
  • 再試行(4)
    キャンセル(2)

  • YesNo
  • はい(6)
    いいえ(7)

  • YesNoCancel
  • はい(6)
    いいえ(7)
    キャンセル(2)

表示するアイコン に指定する値と、アイコンは次のようになります。

Asterisk、Information

画像

Error、Hand、Stop

画像

Exclamation、Warning

画像

Question

画像

None
アイコンは表示されません

参考

PowerShellでダイアログを表示し入力結果を取得 | 読書とプログラミングを中心とした覚書ブログ
MessageBoxButtons 列挙型 (System.Windows.Forms)
MessageBoxIcon 列挙型 (System.Windows.Forms)

コメント

タイトルとURLをコピーしました