読書とプログラミングを中心とした覚書ブログ

読書とプログラミングについて、日々経験したことを忘れないようにするため、極力ブログに記録を残すように頑張る。

PowerShellでダイアログを表示し入力結果を取得

 公開日     更新日  2016/02/14

unsplash_52c574c2b2c73-2

PowerShellの入門中です。
今回はPowerShellスクリプトからのWindows標準ダイアログである、ファイル選択ダイアログディレクトリ選択ダイアログ、および、メッセージボックスダイアログをそれぞれ使ってみましたので、そのサンプルソースコードをまとめたいと思います。

PowerShellはやり方を知っていれば意外と簡単に出来るのですが、知らないことは全般的にドキュメントも不足気味。
そのため、結局はGoogleでがんばって検索しながらのコーディングスタイルになってしまいますので、今回調べたことは読み返しが効くポイントとして残したいと思います。

PowerShellからのダイアログの利用

PowerShellスクリプト内でダイアログ画面を利用する方法について、数件のサイトを見て回ったのですが、.NET Frameworkの機能をPowerShellから使うというやり方が一般的なのだそうです。
以下、参考にさせていただいたサイトです。

ダイアログを使ってみる

参考サイトを元に、いくつか試してみました。
特に支障なく使え、いい感じ!

ファイル選択ダイアログ

参考サイトのサンプルそのままですが…。
OpenFileDialogクラスに利用方法の記載あり、特にこれといって覚えることもなくシンプル。

実行画面はお馴染みのデザイン。
PowerShell-OpenFileDialog-Test

ディレクトリ選択ダイアログ

FolderBrowserDialogクラスに利用方法の記載あり、こちらもシンプルな作り。

こちらも標準デザインでいつものアレですね。
PowerShell-FolderBrowserDialog-Test

 メッセージボックス ダイアログ

正しい呼び名はメッセージボックスらしいですが、中身を言い表すならメッセージとボタンによるユーザ入力ダイアログになるんでしょうか。
ユーザの入力結果により処理を分岐することも出来るようです。
MessageBox.Showメソッドのリファレンスに記載あり。
ここからリンクされているSystem.Windows.Forms.MessageBoxButtons、および、System.Windows.Forms.MessageBoxIconが特殊なパラメータの模様。
リファレンスから書式を推測。基本、文字列型で指定すれば良いってことでしょうか?

期待通りで裏切りなし。様々な用途で利用できます。
PowerShell-MessageBox-Test

せっかくなので、ボタンの形状とアイコンの種類についてもう少し遊んでみました。

メッセージボックス ダイアログのボタン形状を試す

サンプルソースの13行目で指定する値を変更した動作確認。
MSDNサイトで定義されている値を使い動作確認が可能です。

メッセージボックス ダイアログのアイコンの種類を試す

サンプルソースの16行目で指定する値を変更した動作確認。
ボタン形状と同様にMSDNサイトで定義されている値を使い動作確認が可能です。
しかもアイコンの種類に応じて、いつものメッセージダイアログと同じく効果音が鳴ります

レスポンシブ広告

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Time limit is exhausted. Please reload CAPTCHA.

  関連記事

.NETダイアログが表示されずスクリプトが止まる問題の対策

PowerShell入門中です。 先日のこちらの記事(PowerShellでダイ …

PowerShellの開発速度の改善を考える

私はどちらかというとWindowよりもUNIXの方がなれてますが、仕事ではWin …

MiniDV形式ビデオテープを撮影日時つきファイルでバックアップ[PowerShell版]

去年からちょいちょいPowerShellを使い出しました。 勉強の一環で、ちょっ …

PS1スクリプトを動かすための設定

PowerShellは最近のWindowsで追加されたスクリプト言語で、今のWi …

PowerShellでダイアログを表示し入力結果を取得