我有以下代码,该代码应允许用户选择特定文件的文件夹位置,然后使用该位置对文件进行操作。但是,当我在ISE之外运行脚本时,根本不会出现FolderBrowserDialog。我一直在Powershell窗口后面和所有其他窗口后面看,但从未出现过。
Add-Type -AssemblyName System.Windows.Forms
$FolderBrowser = New-Object System.Windows.Forms.FolderBrowserDialog
$FolderBrowser.Description = "Description"
$FolderBrowser.ShowNewFolderButton = $false
$FolderBrowser.RootFolder = 'MyDocuments'
if($FolderBrowser.ShowDialog() -eq $true){
Do some stuff
}
关于为什么它可能不会出现的任何想法?是否需要打开某些Powershell设置才能使控制台中显示内容?
最佳答案
我在PS v2中曾遇到过此问题,这是我已解决的问题。
将代码保存在.ps1文件中,然后像这样运行它:
powershell -STA -File "path/to/file.ps1"
ISE v2在STA中运行,而控制台v2在MTA中运行。
更多信息:Could you explain STA and MTA?