Powershell을 사용하여 파일을 찾고 재귀 적으로 읽는 방법은 무엇입니까?


1

PowerShell을 처음 사용하고 디렉토리에서 XML 파일을 재귀 적으로 찾고 cat각 파일을 읽거나 유닉스로 읽으려고 합니다.

이것이 리눅스 머신이라면 다음과 같이 할 것입니다.

$ find /path/to/dir/ -type f -iname *.xml -exec cat {} \;

나는 PowerShell에서의 노력했습니다 Get-ContentGet-ChildItem하지만 난 많은 행운을 가지고 있지 않다 :

powershell Get-ChildItem -Path C:\ProgramData\Microsoft\ -Include *.xml -Recurse | ForEach-Object {Write-Output $_; Get-Content $_}

누군가 내가 잘못하고있는 것을 파악하거나 디렉토리에서 파일을 찾고 재귀 적으로 읽는 더 간단한 솔루션을 제공하도록 도와 줄 수 있습니까?


명령이 나에게 잘 보인다. 어떤 오류가 발생합니까? Powershell ISE에서 명령을 실행할 때 작동합니까? 적어도 내 시스템에서 작업 한 결과gci C:\ProgramData\Microsoft\ -i *.xml -r | % { gc $_}
Lieven Keersmaekers

"Get-Content : 매개 변수 'Path'에 빈 문자열이므로 인수를 바인딩 할 수 없습니다."라는 오류가 발생합니다. 내 명령과 수정 된 버전을 사용할 때 경로가 빈 문자열이라는 이유를 알 수 없습니다. 어떻게 생각해?
캐시

다른 폴더를 사용하여 괄호로 묶어보십시오. 다음은 아무것도 반환하지 않습니다gci "C:\" -i *.xml -r
Lieven Keersmaekers

예! 따옴표는 트릭을했다. 기묘한. 도와 주셔서 감사합니다. 내 다른 수퍼 유저 질문을 볼 시간이 있습니까? superuser.com/questions/1295125/…
캐시

1
curl 명령의 기능을 추가하여 질문을 개선 할 수 있습니다 . -F는 분명히 HTTP multipart POST 데이터를 지정하는 것입니다. 나는 그것이 무엇을 의미하는지 전혀 모른다.
Lieven Keersmaekers
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.