Récupérer tous les fichiers du répertoire de manière récursive dans PowerShell
Dans PowerShell, le répertoire peut être récupéré de manière récursive à l'aide de l'applet de commande Get-ChildItem et du paramètre -Recurse.
Utilisez Get-ChildItem avec Select-Object :
Get-ChildItem -Path "D:\Content Writing" -RecurseSortir :
Directory: D:\Content Writing
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 09-04-2023 16:57 test1
d----- 09-04-2023 16:58 test2
Directory: D:\Content Writing\test1
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 09-04-2023 16:57 7 file1.md
-a---- 09-04-2023 16:57 7 file2.md
-a---- 09-04-2023 16:57 7 file3.md
Directory: D:\Content Writing\Directory\test2
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 09-04-2023 16:57 7 file4.md
-a---- 09-04-2023 16:57 7 file5.mdSi vous souhaitez obtenir tous les fichiers du répertoire actuel dans PowerShell, vous pouvez utiliser la commande ci-dessous :
Utilisez Get-ChildItem avec Select-Object :
Get-ChildItem -RecurseLes dossiers et fichiers peuvent également être exclus à l'aide du paramètre -Exclude.
Tout d’abord, jetez un œil à l’objectif des paramètres et des applets de commande qui seront utilisés à différentes fins dans cet article :
- L'applet de commande
Get-ChildItemdans PowerShell récupère un répertoire récursif et une liste de fichiers. -Recurseest utilisé pour récupérer le répertoire de manière récursive, ce qui signifie que tous les fichiers, dossiers et sous-dossiers seront récupérés.- Utilisez le paramètre
-Excludepour exclure des fichiers et des dossiers spécifiques. Vous pouvez modifier le paramètre-Excludepour inclure plusieurs noms de fichiers et de dossiers en les séparant par des virgules - L'applet de commande
Select-Objectaffiche uniquement la propriétéFullNamede chaque élément, qui est le chemin complet du fichier ou du dossier.
Plongeons dans les exemples pour apprendre l'utilisation de chaque applet de commande et les paramètres discutés ci-dessus.
Utilisation de l'applet de commande Get-ChildItem
Nous pouvons utiliser l'applet de commande Get-ChildItem pour effectuer les opérations suivantes :
- Pour récupérer le répertoire de manière récursive
- Pour exclure un fichier spécifique d'un répertoire
- Pour exclure un dossier particulier d'un répertoire
- Pour exclure des fichiers du même type ou de la même extension d'un répertoire
Consultez les exemples suivants pour en savoir plus.
Utilisez Get-ChildItem avec le paramètre -Recurse et l'applet de commande Select-Object pour récupérer un répertoire de manière récursive.
Utilisez Get-ChildItem avec Select-Object :
Get-ChildItem -Path "D:\Content Writing" -Recurse | Select-Object FullNameSortir :
FullName
--------
D:\Content Writing\test1
D:\Content Writing\test2
D:\Content Writing\test1\file1.md
D:\Content Writing\test1\file2.md
D:\Content Writing\test1\file3.md
D:\Content Writing\test2\file4.md
D:\Content Writing\test2\file5.mdUtilisez Get-ChildItem avec les paramètres -Recurse et -Exclude et la cmdlet Select-Object pour récupérer le compléter le dossier et ses sous-dossiers de manière récursive mais en excluant le fichier file1.txt.
Utilisez Get-ChildItem avec Select-Object :
Get-ChildItem -Path "D:\Content Writing" -Recurse -Exclude "file1.md" | Select-Object FullNameSortir :
FullName
--------
D:\Content Writing\test1
D:\Content Writing\test2
D:\Content Writing\test1\file2.md
D:\Content Writing\test1\file3.md
D:\Content Writing\test2\file4.md
D:\Content Writing\test2\file5.mdUtilisez Get-ChildItem avec les paramètres -Recurse et -Exclude et la cmdlet Select-Object pour récupérer le dossier complet et ses sous-dossiers de manière récursive mais en excluant le dossier test2.
Utilisez Get-ChildItem avec Select-Object :
Get-ChildItem -Path "D:\folder" -Recurse -Exclude "test2" | Select-Object FullNameSortir :
FullName
--------
D:\Content Writing\test1
D:\Content Writing\test1\file1.md
D:\Content Writing\test1\file2.md
D:\Content Writing\test1\file3.md
D:\Content Writing\test2\file4.md
D:\Content Writing\test2\file5.mdLa commande ci-dessus exclura le dossier spécifié, pas ses sous-dossiers ou fichiers. Comme vous pouvez le voir, nous avons récupéré l'emplacement des fichiers
file4.docxetfile5.docxdu dossiertest2mais pas du dossiertest2lui-même.
Utilisez Get-ChildItem avec les paramètres -Recurse et -Exclude et la cmdlet Select-Object pour récupérer le compléter le dossier et ses sous-dossiers de manière récursive mais en excluant les fichiers du même type ou de la même extension.
Utilisez Get-ChildItem avec Select-Object :
Get-ChildItem -Path "D:\Content Writing" -Recurse -Exclude *.md | Select-Object FullNameSortir :
D:\Content Writing\test1
D:\Content Writing\test2Il s’agit de savoir comment obtenir tous les fichiers du répertoire de manière récursive dans PowerShell.
