Question avoir uniquement des fichiers de retour Powershell get-childitem


Je voudrais utiliser get-childitem de manière récursive, mais je ne souhaite que renvoyer des fichiers et non des répertoires. La meilleure solution que je viens de faire ne semble pas naturelle:

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

66
2018-06-09 17:13


origine




Réponses:


Essaye ça:

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

66
2018-06-09 18:06



Si vous excluez les conteneurs, vous pouvez laisser le *. *, droite? - MDMoore313


Dans Powershell 3.0, il est plus simple,

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

C'est encore plus court,

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

90
2018-01-24 21:16





Dans PowerShell 3.0, vous pouvez également utiliser le nouvel ajout -Attributes paramètre
(avec les opérateurs logiques)

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

Golfé

dir -r -Attributes !D

2
2018-05-19 17:52





Dans Powershell 2.0, la solution la plus simple et la plus simple que j'ai proposée consiste à inclure tous les fichiers avec une extension:

get-childitem -Recurse -include *.*

dossiers n’a pas d’extension, ils sont donc exclus, méfiez-vous de l’extension nommée fichiers.


-4
2018-05-07 11:27



Ceci (à propos des répertoires) n'est pas vrai. Rien ne peut vous empêcher d'avoir un répertoire avec extension - Romeo Ninov