我有以下代码,该代码应允许用户选择特定文件的文件夹位置,然后使用该位置对文件进行操作。但是,当我在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?

09-13 05:33