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.