2008-10-19 10 views
3

similaires à this question, après avoir exécuté le code suivant la boîte de dialogue du navigateur n'apparaît avec tous les boutons corrects, mais la zone de sélection qui usally affiche les dossiers disponibles est manquant:appel FolderBrowserDialog de Powershell

[void] [Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms') 
$d = New-Object Windows.Forms.FolderBrowserDialog 
$d.ShowDialog() 
+0

Si quelqu'un est intéressé, ce que je l'ai utilisé pour: http: // stackoverflow.com/questions/182573/powershell-cli-or-gui-which-d-you-need-or-prefer#216936 –

Répondre

11

j'ai rencontré ce problème un certain temps et trouvé la solution COM suivante sur les forums MSDN:

$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} 

http://www.microsoft.com/communities/newsgroups/en-us/default.aspx?dg=microsoft.public.dotnet.framework.windowsforms.controls&tid=3607557a-43b3-40bf-8276-be00526e0520&p=1

+0

Merci pour la solution de contournement :) –

3

Je crois qu'il est un problème avec PowerShell s'exécutant dans un thread MTA. Vous pouvez exécuter le CTP de la version 2 dans un mode STA (single threaded apartment) et il tirera la bonne sélection de dossier. Cependant, il tire le menu derrière la fenêtre shell.

+0

J'ai essayé ceci d'abord sur Vista avec CTP2, où je pouvais l'utiliser en mode STA. Sur XP avec V1, je n'étais pas capable de faire fonctionner cela. –

+0

La limitation STA a du sens. . . attend avec impatience la version de la version de PS v2;) –

+0

Il pourrait être un moment :(CTP3 arrive bientôt (peut-être pour la sortie à PDC, mais il n'y a pas eu une annonce officielle que je suis au courant .. Malheureusement, avec le CTP série, les choses peuvent être ajoutées, supprimées ou modifiées, au moment où il obtient la libération –

0

Juste Pour votre information, si vous cherchez à faire des choses Windows Forms, il y a un produit actuellement que fera les formes de fenêtres pour PowerShell (Le Admin Script Editor) et Sapien travaille sur un Forms Designer (annoncé sur le PowerScripting Podcast), ce qui pourrait lisser certains de ces problèmes pour votre script.