類似this question,運行下面的代碼瀏覽器對話框不會與所有正確的按鈕出現,但選擇面積usally顯示可用的文件夾後丟失:通話的FolderBrowserDialog
[void] [Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms')
$d = New-Object Windows.Forms.FolderBrowserDialog
$d.ShowDialog()
類似this question,運行下面的代碼瀏覽器對話框不會與所有正確的按鈕出現,但選擇面積usally顯示可用的文件夾後丟失:通話的FolderBrowserDialog
[void] [Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms')
$d = New-Object Windows.Forms.FolderBrowserDialog
$d.ShowDialog()
我遇到這個問題了一會兒回來,發現在MSDN論壇上以下COM解決方法:
$app = new-object -com Shell.Application
$folder = $app.BrowseForFolder(0, "Select Folder", 0, "C:\")
if ($folder.Self.Path -ne "") {write-host "You selected " $folder.Self.Path}
我相信這是在MTA線程中運行PowerShell的問題。您可以在STA(單線程單元)模式下運行版本2的CTP,並且它將提取正確的文件夾選擇。它確實將菜單拉到shell窗口後面。
我先在Vista上用CTP2試過,我可以在STA模式下使用它。在XP的V1,我無法得到這個工作。 – 2008-10-19 20:03:15
STA的限制是有道理的。 。 。急切地等待PS v2的發佈版本;) – 2008-10-19 20:21:07
僅供參考,如果你正在尋找做Windows窗體的東西,有一個產品目前缺貨,會做Windows窗體的PowerShell的(該Admin Script Editor)和Sapien的是工作的一個Forms Designer(在PowerScripting Podcast公佈),這可能爲您的腳本消除一些這些問題。
如果任何人的興趣,這就是我使用它:HTTP:// stackoverflow.com/questions/182573/powershell-cli-or-gui-which-do-you-need-or-prefer#216936 – 2008-10-21 15:09:07