PowerShell ファイル選択ダイアログを使用する方法

PowerShell

この記事では、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でファイル選択ダイアログを使用する方法について説明しました。

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