잘못된 데이터를 반환합니다.는 - 나는 포스트 "어떻게 제대로 PowerShell의 FolderBrowserDialog를 사용하는"</p> <p>나는 함수에서 반환하는 선택 단지 경로를 받고 문제를 겪고을 보았다
"write-host $ a"대신에 선택한 디렉토리 (C : \ Temp) 대신에 System.Windows.Forms, Version = 4.0.0.0, Culture = 중립, PublicKeyToken은 = b77a5c561934e089의 C : \ 온도
기능은 Get-폴더 ($ 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 = 가져 오기 - 폴더를 쓰기 호스트 $ 나는이 무효이며, 추가 형을 사용하는 말을 들었다
가. 다음 스크립트로 경로를 얻지 못했습니다.
[System.Reflection.Assembly]::LoadWithPartialName("System.windows.forms")
PowerShell을 함수에서 모든 출력을 반환하므로 결과가 실제로 어셈블리의로드의 출력을 포함하는 배열이며,이 라인은 또한 출력을 생성하기 때문에
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 ='로 변경하십시오. – TheMadTechnician
감사합니다! 그것 때문에 당신과 Jon – Shannon