【发布时间】:2016-08-05 17:47:04
【问题描述】:
看过帖子《如何在Powershell中正确使用FolderBrowserDialog》
我在获取选择从函数返回的路径时遇到问题。
在脚本的结尾,我“写主机 $a”,但我得到的不是只获取我选择的目录 (C:\Temp) System.Windows.Forms,版本=4.0.0.0,文化=中性,PublicKeyToken=b77a5c561934e089 C:\Temp
函数获取文件夹($initialDirectory)
{ [System.Reflection.Assembly]::LoadWithPartialName("System.windows.forms")
$foldername = New-Object System.Windows.Forms.FolderBrowserDialog
$foldername.rootfolder = "MyComputer"
if($foldername.ShowDialog() -eq "OK")
{
$folder += $foldername.SelectedPath
}
return $folder
}
$a = 获取文件夹 写主机 $a
有人告诉我这是过时的,要使用 Add-Type。不只是使用以下脚本获取路径。
Add-Type -AssemblyName System.Windows.Forms
$FolderBrowser = New-Object System.Windows.Forms.FolderBrowserDialog
[void]$FolderBrowser.ShowDialog()
$FolderBrowser.SelectedPath
Write-Host "FolderBrowser= "$FolderBrowser
【问题讨论】:
-
您可能在函数范围之外定义了
$folder,并且函数正在修改它。关闭 PowerShell 并重新启动它。另外,将您的$folder +=更改为$folder =。 -
谢谢!它在你和乔恩的帮助下工作
标签: powershell folderbrowserdialog