创建浏览打开窗口的函数:
1 function Read-FolderBrowserDialog([string]$InitialDirectory) 2 { 3 $app = New-Object -ComObject Shell.Application 4 $folder = $app.BrowseForFolder(0, "Please Select a Folder", 0, $InitialDirectory) 5 if ($folder) { return $folder.Self.Path } else { return "未选中任何文件夹" } 6 } 7 8 #运行函数 9 Read-FolderBrowserDialog d:
结果:
$folder = Read-FolderBrowserDialog d:
$folder 结果为 选中的文件夹路径
#打开桌面选项
$desktoppath = [Environment]::GetFolderPath("Desktop")
Read-FolderBrowserDialog $desktoppath
$app = New-Object -ComObject Shell.Application
浏览文件路径:
1 function Read-OpenFileDialog([string]$InitialDirectory, [string]$Filter = "All files (*.*)|*.*", [switch]$AllowMultiSelect) 2 { 3 4 Add-Type -AssemblyName System.Windows.Forms 5 $openFileDialog = New-Object System.Windows.Forms.OpenFileDialog 6 if ($InitialDirectory.tostring().length -lt 1) { $InitialDirectory = [Environment]::GetFolderPath("Desktop") } 7 $openFileDialog.InitialDirectory = $InitialDirectory 8 $openFileDialog.Filter = $Filter 9 if ($AllowMultiSelect) { $openFileDialog.MultiSelect = $true } 10 $openFileDialog.ShowHelp = $true # Without this line the ShowDialog() function may hang depending on system configuration and running from console vs. ISE. 11 $openFileDialog.ShowDialog() > $null 12 if ($AllowMultiSelect) { return $openFileDialog.Filenames } 13 else { return $openFileDialog.Filename } 14 } 15 Read-OpenFileDialog "d:"
打开“运行”窗口:
$app = New-Object -ComObject Shell.Application $app.filerun()
From: http://blog.vichamp.com/powershell/2013/10/15/powershell-multi-line-input-box-dialog-open-file-dialog-folder-browser-dialog-input-box-and-message-box/