この記事では、PowerShellでファイル選択ダイアログを使用する方法について説明します。
PowerShell ファイル保存ダイアログを使用する方法
ファイル選択ダイアログを使用する方法
.NET Framework のOpenFileDialog クラスを使うと、ファイル選択ダイアログを使用することができます。
参考: OpenFileDialog クラス (System.Windows.Forms) | Microsoft Learn
ファイル選択ダイアログを表示する例です。
# 必要なアセンブリを読み込む
Add-Type -AssemblyName System.Windows.Forms
$dialog = New-Object Windows.Forms.OpenFileDialog
$dialog.Title = "ファイルの選択"
$dialog.Filter = "テキストファイル(*.txt)|*.txt|csvファイル(*.csv)|*.csv|全てのファイル|*.*"
$dialog.InitialDirectory = "C:\temp\test"
$ret = $dialog.ShowDialog()
if ($ret -eq "OK")
{
Write-Host ("選択したファイル名、" + $dialog.FileName)
} else {
Write-Host ("キャンセル")
}
実行します。
サンプルコードの説明をします。
・4行目で、OpenFileDialogオブジェクトを生成します。
・6行目でダイアログのタイトルを設定しています。
・7行目のFilterプロパティはダイアログの「ファイルの種類」に表示する、拡張子のフィルタ設定です。テキストファイル(*.txt)が表示される文字で、「|」で区切り、フィルタする拡張子「*.txt」を設定します。今回複数設定していますが、「|」で区切ることで複数設定ができます。
csvファイル(*.csv)を選択すると、「*.csv」でフィルタされたファイルが表示されます。
・8行目のInitialDirectoryプロパティには、初期表示フォルダを指定します。
・10行目のShowDialogメソッドでファイルを選択するダイアログを表示しています。
この戻り値は、ユーザがファイルを選択し、「開く」ボタンをクリックすると、「OK」が設定され、戻り値($ret)のFileNameプロパティに選択したファイルのフルパスが格納されます。
まとめ
今回は、PowerShellでファイル選択ダイアログを使用する方法について説明しました。