나는 topfolder
이라는 프로젝트 폴더가 있는데 특정 패턴과 일치하는 모든 하위 폴더의 모든 파일을 찾고 싶습니다. 폴더에 foo
이 포함되어 있으면 그 안에있는 모든 파일을 나열하고 싶습니다. Get-ChildItem을 사용하여 특정 이름을 가진 디렉토리의 파일을 찾는 방법?
gci .\topfolder -rec -filter *foo*
을하지만 두 가지 문제가 있습니다
- 파일 만 실제로
foo
이 (내가 foo는 같은 폴더에있는 모든 파일을 원하는) 표시됩니다 포함. - 이 필터와 일치하는 디렉토리도 결과 집합의 일부가됩니다.
gci .\topfolder\*foo* -include *.*
하지만 전혀 작동하지 않습니다 - 그 패턴이
topfolder\foobar
하지만topfolder\subfolder\foobar
일치 있도록 분명히 일치에게 경로의 단일 세그먼트를 와일드 카드 :
그 때 나는이 시도.
gci .\topfolder -rec -include *foo* | where { $_.psiscontainer } | gci
이 작동하지만 두 번 gci
전화를 낭비처럼 보인다 난 그냥 didn를 희망한다 '
내가 찾은 유일한 방법은 지금까지처럼, 두 번 가져-ChildItem을를 사용하는 것이 었습니다 -Path
, -Filter
또는 -Include
과 같은 올바른 와일드 카드 표현식을 찾으십시오.
가장 좋은 방법은 무엇입니까?
어떻게 내 마지막 예와 다르다? 내 시도보다 더 느리지 않니? – Borek
죄송합니다. 나는 눈이 멀었을 것입니다;) –
방금 업데이트 된 답변을 게시했습니다 –