我正在使用PowerShell使用户能够浏览 Node.js 应用程序的文件/文件夹路径(因为到目前为止我还没有找到更好的轻量级替代方案),而且我遇到了处理问题的古老麻烦具有FolderBrowserDialog不支持的可怕的、糟糕的可用性:
标准脚本如下所示:
Function Select-FolderDialog($Description="Select Folder", $RootFolder="MyComputer"){
[System.Reflection.Assembly]::LoadWithPartialName("System.windows.forms") | Out-Null
$objForm = New-Object System.Windows.Forms.FolderBrowserDialog
$objForm.RootFolder = $RootFolder
$objForm.ShowNewFolderButton = $true
$objForm.Description = "Please choose a folder"
$Show = $objForm.ShowDialog()
If ($Show -eq "OK")
{
Return $objForm.SelectedPath
}
Else
{
Write-Error "Operation cancelled by user."
}
}
$folder = Select-FolderDialog
write-host $folder
Run Code Online (Sandbox Code Playgroud)
我过去曾使用Windows API CodePack for C# Windows Forms 应用程序创建了一个CommonOpenFileDialogwith IsFolderPicker = true,为我OpenFileDialog提供了易于使用的托管文件夹浏览器的功能和可访问性。

在我在这里寻找使用类似内容的方法时,我了解到常规的 FolderBrowserDialog …