Powershell get-childitem에 파일 만 반환


76

get-childitem을 재귀 적으로 사용하고 싶지만 디렉토리가 아닌 파일 만 반환합니다. 내가 가진 최고의 솔루션은 자연스럽지 않습니다.

gci . *.* -rec | where { $_.GetType().Name -eq "FileInfo" }

답변:


76

이 시도:

gci . *.* -rec | where { ! $_.PSIsContainer }

4
컨테이너를 제외하는 경우 *를 생략해도됩니다. *, 권리?
— MDMoore313

99

Powershell 3.0에서는 더 간단합니다.

gci -Directory #List only directories
gci -File #List only files

이것은 더 짧습니다.

gci -ad # alias for -Directory
gci -af # alias for -File

2

PowerShell 3.0에서는 새로 추가 된 -Attributes매개 변수
(논리 연산자와 함께)를 사용할 수도 있습니다.

Get-ChildItem -Recurse -Attributes !Directory+!System

골프

dir -r -Attributes !D

-4

powershell 2.0에서 내가 만든 최고의 가장 간단한 해결책은 확장자가있는 모든 파일을 포함시키는 것입니다.

get-childitem -Recurse -include *.*

폴더에는 확장자가 없으므로 제외되며 확장자가 파일 인 확장자가 없어야합니다.


10
이것은 (디렉토리에 대하여) 사실이 아닙니다. 확장명을 가진 디렉토리를 가질 수있는 것은 없습니다
— Romeo Ninov
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.