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


1

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

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

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

나는 PowerShell에서의 노력했습니다 Get-Content및 Get-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.