我有一个PS1脚本,它打开一个FolderBrowserDialog:
open-folder.ps1
Add-Type -AssemblyName System.Windows.Forms
Push-Location
$FileBrowser = New-Object System.Windows.Forms.FolderBrowserDialog -Property @{
ShowNewFolderButton = $true
Description = 'Select folder...'
RootFolder = 'Desktop'
}
if($FileBrowser.ShowDialog() -ne "OK") {
exit
}
Pop-Location
$Location = $FileBrowser.SelectedPath
Write-Host "Chose $Location"
这个UI很难使用,并且没有资源管理器提供更多的功能。
如何启动使用与OpenFileDialog相同的UI但只允许用户选择文件夹的文件夹浏览器?
OpenFileDialog示例(允许选择不需要的文件):
Add-Type -AssemblyName System.Windows.Forms
Push-Location
$FileBrowser = New-Object System.Windows.Forms.OpenFileDialog -Property @{
Title = 'Select folder...'
}
if($FileBrowser.ShowDialog() -ne "OK") {
exit
}
Pop-Location
$Location = $FileBrowser.FileName
Write-Host "Chose $Location"
发布于 2022-11-01 00:57:35
如果使用的是Windows Powershell,则无法更改文件夹对话框浏览器的UI。我使用Powershell 7.2.6尝试了您的代码,UI看起来与您想要实现的目标相同。
使用Powershell 7.2.6对原始代码的结果进行屏幕显示
我还尝试了其他几种不同的对话脚本,结果也是一样的。
这里有一个关于从Windows迁移到Powershell的链接,它们之间的区别,以及如何优化地使用它们。
https://stackoverflow.com/questions/69048969
复制相似问题