2017-01-06 6 views
1

ユーザーが特定のファイルのフォルダの場所を選択できるようにする次のコードを用意して、その場所を使用してファイルを処理します。しかし、ISEの外でスクリプトを実行すると、FolderBrowserDialogはまったく表示されません。私は、パワーシェルウィンドウの背後に、他のすべてのウィンドウの後ろを見て、それは決して現れません。ISEの外部で実行しているときにFolderBrowserDialogがまったく表示されない

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設定がありますか?

+0

再生できません。 「ISEの外部」とまったく同じ意味ですか? –

+0

ISEではダイアログが表示されますが、表示されないスクリプトを実行するためにpowershellコンソールを開くだけです – Sam

+0

PowerShell v2を使用していますか? '$ PSVersionTable.PSVersion' – sodawillow

答えて

3

PS v2でこの問題が発生していましたが、ここで修正しました。

保存.ps1というファイル内のコードと、このようにそれを実行します。

powershell -STA -File "path/to/file.ps1" 

ISE v2がSTAで実行され、コンソールv2はMTAで実行されます。

詳細情報:Could you explain STA and MTA?

+0

それでした。私はPS v2にいた – Sam

関連する問題