PowerShellでOpenFileDialogを利用すると、GUIのファイル選択ダイアログを表示して、インプットファイルをユーザーに対話形式で指定させることができます。
前提条件
Windows PowerShell環境およびWindows Formsアセンブリを利用できる環境(Windows環境)が必要です。
ファイル選択スクリプトの完全な例
Add-Type -AssemblyName System.Windows.Forms
# OpenFileDialogオブジェクトの作成
$FileBrowser = New-Object System.Windows.Forms.OpenFileDialog
# 初期表示ディレクトリをデスクトップに設定
$FileBrowser.InitialDirectory = [Environment]::GetFolderPath('Desktop')
# ファイルフィルターの設定(テキスト・CSVおよびすべてのファイル)
$FileBrowser.Filter = 'テキスト・CSV (*.txt;*.csv)|*.txt;*.csv|すべてのファイル (*.*)|*.*'
# ダイアログのタイトルを設定
$FileBrowser.Title = 'インプットファイルを選択してください'
# ダイアログを表示し、ファイルが選択された場合の処理
if ($FileBrowser.ShowDialog() -eq [System.Windows.Forms.DialogResult]::OK) {
[System.Windows.Forms.MessageBox]::Show('選択したファイル:' + $FileBrowser.FileName)
# ここに選択されたファイルパス($FileBrowser.FileName)を使った処理を記述します
} else {
[System.Windows.Forms.MessageBox]::Show('ファイルは選択されませんでした。')
}
実行手順と使い方
- 上記のコードをPowerShellコンソールまたはスクリプトファイル(.ps1)として実行します。
- デスクトップを初期位置とするファイル選択ダイアログがポップアップ表示されます。
- ファイルを選択して「開く」を押すと、選択したファイルのフルパスがメッセージボックスに表示されます。
- 「キャンセル」を押した場合は、ファイル未選択のメッセージが表示されます。
この記事の更新履歴
この記事は、生成AIを活用した自動レビュー・更新フローにより内容を見直し、必要な修正を反映しています。
2026年9月20日
- 変更スクリプト内のメッセージボックス呼び出しを System.Windows.Forms.MessageBox へ修正しました。
2026年9月12日
- 削除コードブロック内の重複したインスタンス生成処理と不要な空の段落を削除しました。
- 追加スクリプトの実行手順と期待される動作の解説を追加しました。
