몇 가지 폴더의 내용을 삭제하려고합니다. 내가 무엇을 가지고 :Powershell Select-Object 값 배열을 얻는 방법
@{ Join-Path $Config.InstallPath $_ =C:\Program Files\App\www\app1}
오류 : Get-ChildItem
때문에 아래와 같이 객체를 수신,
$Config.SubPaths | Select-Object { Join-Path $Config.InstallPath $_ } | Get-ChildItem
그러나이 작동하지 않습니다 여기
$Config = @{
InstallPath = 'C:\Program Files\App'
SubPaths = @('www\app1', 'www\app2', 'www\app3')
}
과 내용을 얻을 수있는 코드 :
Get-ChildItem : Cannot find drive. A drive with the name '@{ Join-Path $Config.InstallPath $_ =C' does not exist.
At line:1 char:85
+ ... elect-Object { Join-Path $Config.InstallPath $_ } | Get-ChildItem
+ ~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (@{ Join-Path $C...stallPath $_ =D:String) [Get-ChildItem], DriveNotFoun
dException
+ FullyQualifiedErrorId : DriveNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand
Select-Object
의 결과를 간단한 문자열 배열로 변환하려면 어떻게해야합니까? 아니면 코드를 향상시키는 다른 방법이 있습니까?
'$ Config.SubPaths을 만들고 있었다
Get-ChildItem
는 새 개체의 경로 속성에 바인딩해야하지만 제목에 질문에 대답하는 당신이 이것을 할 수 있었다 ForEach-Object {Join-Path $ Config.InstallPath $ _} | Get-ChildIt'' – Matt