PowerShell ダイアログでファイルを選択する

PowerShellのダイアログでファイルを選択するサンプルです。

目次

サンプル ダイアログを表示してファイルを選択する
  ダイアログを表示してはい/いいえを選択する

ダイアログを表示してファイルを選択する

PowerShellのコードを実行するとファイル選択のダイアログが表示されるようにします。

左上のメッセージと右下の拡張子で対象ファイルを絞る機能の値もセットします。

コード

Add-Type -assemblyName System.Windows.Forms

$dialog = New-Object System.Windows.Forms.OpenFileDialog
 
$dialog.Filter = "テキスト|*.txt|csvファイル|*.csv|All Files|*.*"

$dialog.InitialDirectory = "D:\Test1\test2" 
#$dialog.InitialDirectory = [Environment]::GetFolderPath('Desktop')

$dialog.Title = "ファイルを選択してください"

if ($dialog.ShowDialog() -eq "OK") {
    Write-Host ("選択したのは、" + $dialog.FileName)
    # 選択したのは、D:\Test1\test2\test-dialog.txt
} else {
    Write-Host ("ファイルを選択しませんでした")
}

3行目は、OpenFileDialogのオブジェクトを生成しています。

5行目は、ダイアログ右下の拡張子で対象ファイルを絞る機能の値をセットしています。

7,8行目は、ダイアログ表示時の初期表示のフォルダを指定しています。
8行目のようにDesktopと文字列での指定も可能です。

10行目は、ダイアログ左上のタイトルです。

12行目は、ダイアログでファイルを選択した場合、trueになります。

13行目は、以下のようにパスとファイル名が表示されます。

「選択したのは、D:\Test1\test2\test-dialog.txt」

 

ダイアログを表示してはい/いいえを選択する

PowerShellのコードを実行するとはい/いいえのダイアログが表示されるようにします。

コード

Add-Type -AssemblyName System.Windows.Forms;

$text = "選択`r`nしてください"
$caption = "選択テスト"
$buttons = "YesNo"

$result = [System.Windows.Forms.MessageBox]::Show($text, $caption, $buttons)
Write-Host $result

3行目は、ダイアログに表示する文言です。'r'nは改行を表します。
5行目のYesNoではい/いいえを表示します。

8行目は、はいを押したときはYes、いいえを押したときはNoが表示されます。

https://docs.microsoft.com/ja-jp/dotnet/api/system.windows.forms.messagebox.show?view=windowsdesktop-6.0#system-windows-forms-messagebox-show(system-string-system-string-system-windows-forms-messageboxbuttons)

関連の記事

PowerShell テキストファイルの読み書き

△上に戻る