En Powershell lister tous les fichiers d’un répertoire est une tâche très facile. Nous devons seulement utiliser la commande suivante pour juste lister tous les fichiers uniquement dans un répertoire.

Table des matières:

  • PowerShell List files in a Directory.
  • gci alias pour get-chiltitem.
  • dir alias pour get-childitem.
  • PowerShell liste seulement les répertoires.
  • PowerShell liste seulement les répertoires en utilisant un script plus court.
  • PowerShell liste les fichiers récursivement.
  • PowerShell liste les répertoires récursivement.
  • Liste les fichiers d’un certain type d’extension.
  • PowerShell liste les fichiers d’un certain type d’extension de manière récursive.
  • Liste des fichiers à une profondeur dans les sous-répertoires.
  • Verdict.

People also search for:

Working Snippet for Start-Job PowerShell 2020

gci -file

Le script ci-dessus est montré est exécuté et la sortie est montrée dans l’image ci-dessous.

get all the files in a directory

Il en existe de nombreuses variantes et nous en visitons pas mal dans ce post. Nous verrons comment l’alias gci trouve son origine et nous verrons également quelques alias différents. Il y a des façons d’obtenir seulement les répertoires dans les répertoires et aussi jusqu’à une certaine profondeur.

Nous visiterons autant de fonctionnalités que nous pouvons sur la liste des fichiers dans un répertoire.

PowerShell List Files in a Directory:

Les développeurs de PowerShell ont fait en sorte qu’il soit injustement facile de traiter les fichiers et les dossiers dans PowerShell. Contrairement aux scripts traditionnels, nous ne devons pas trop réfléchir à la structuration du script dans PowerShell. Cela s’explique par le fait que PowerShell est un système d’entrée et de sortie orienté objet. Si quelqu’un est bon dans un langage de programmation orienté objet, le scriptage sur PowerShell lui vient naturellement.

Pour commencer, en obtenant uniquement les fichiers d’un répertoire, nous pouvons utiliser le cmdlet get-childitem. Nous allons ajouter le commutateur -file à la cmdlet pour récupérer uniquement les fichiers d’un répertoire spécifique.

get-childitem -file

get child item file

Clairement, cela résout notre problème. Mais pouvons-nous rendre le script plus efficace ? En fait, nous pouvons.

gci Alias pour Get-ChildItem:

Le cmdlet get-childitem a un alias appelé gci. Il diminue l’effort d’écrire le script entier. Le script ci-dessous produira le résultat dont nous avons besoin.

gci -file

gci -file

dir alias pour Get-ChildItem:

Le get-childitem a un alias assez populaire également. Il peut être remplacé par dir pour obtenir les mêmes résultats.

dir -file

Le script ci-dessus produira la sortie suivante.

dir file

PowerShell list only directories:

Nous avons appris comment lister uniquement les fichiers dans un répertoire spécifique. Maintenant, nous allons voir comment lister uniquement les répertoires d’un répertoire. Nous pouvons le faire à l’aide du commutateur -directory au lieu du commutateur -file.

gci -directory

gci -directory

PowerShell list only directories script plus court:

Nous pouvons simplifier le script à l’aide du commutateur -di. Il est disponible car il suffit d’identifier le commutateur -directory sans aucune ambiguïté. Utilisez le script suivant pour lister uniquement les répertoires du répertoire.

gci -di

Ceci donnera aux utilisateurs la sortie suivante.

gci -di

PowerShell list only files in all the folders or directories:

Maintenant que nous avons vu comment lister seulement les fichiers ou seulement les dossiers, nous n’avons toujours pas appris comment lister seulement les fichiers dans le répertoire. Nous pouvons faire justement cela avec l’aide du commutateur -recurse. Le script est donné ci-dessous.

gci -file -recurse

get files recursively

Clairement, c’est un excellent script pour obtenir seulement les fichiers dans le répertoire ou le dossier.

PowerShell list only folders in all the folders or directories:

Nous pouvons lister seulement les fichiers dans le répertoire et aussi le répertoire enfant suivant en utilisant le script suivant.

gci -di -recurse

récursive des répertoires

PowerShell liste les fichiers d’une extension:

Nous pouvons lister seulement un certain type de fichiers dans un répertoire si nous le souhaitons. Nous pouvons lister uniquement les fichiers PDF dans un répertoire en utilisant le script suivant.

gci -file *.pdf

uniquement les pdfs

PowerShell listent les fichiers d’une extension de manière récursive:

Nous pouvons amener la liste des fichiers à un nouveau niveau en listant uniquement les fichiers d’une extension de manière récursive. L’exemple ci-dessous le démontre justement.

gci -file -r *.pdf

file type recursively

Notez comment nous utilisons le commutateur -r au lieu du commutateur -recurse car il diminue la quantité de frappe qui doit être faite.

PowerShell liste les fichiers d’une extension de manière récursive avec la profondeur:

Nous pouvons lister tous les fichiers d’un répertoire et du sous-répertoire suivant en utilisant le commutateur -recurse. Nous pouvons également restreindre la recherche en utilisant l’extension du fichier. Mais que faire si nous ne voulons pas chercher dans les dossiers qui sont plus profonds que 2 sous-répertoires. Nous pouvons utiliser le commutateur -depth. Le script ci-dessous l’utilise.

gci -file -d 1 -r *.pdf

with depth

Le script ci-dessus va get-childitem de type files, il va chercher jusqu’aux répertoires enfants 1, Il va le faire récursivement et enfin, il va s’assurer qu’il va chercher seulement les pdfs.

Verdict:

Dans ce post, nous avons appris à PowerShell Lister tous les fichiers dans un répertoire. Pour ce faire, nous avons utilisé l’alias get-childitem appelé gci. Le gci couplé avec le commutateur -file fait ce que nous avons besoin de faire. Nous avons également récupéré les fichiers d’une certaine extension. Nous avons obtenu les fichiers d’une certaine extension de manière récursive et aussi jusqu’à une profondeur limitée.

Si vous voulez d’autres posts géniaux, restez à l’écoute de TecKangaroo.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.