Filtrer les fichiers et les dossiers à l'aide de PowerShell
-
Filtrer les fichiers à l’aide de la cmdlet
Get-ChildItem
dans PowerShell -
l’alias
Get-ChildItem
-
Obtenir tous les fichiers dans les sous-répertoires à l’aide de la cmdlet
Get-ChildItem
dans PowerShell -
Filtrer les fichiers avec des conditions spécifiques à l’aide de la cmdlet
Get-ChildItem
dans PowerShell
Il y aura des situations dans lesquelles nous devrons vérifier si des fichiers existent dans un emplacement ou un répertoire spécifique. Bien que nous puissions utiliser la commande héritée dir
, il ne suffirait pas d’exporter uniquement des fichiers spécifiques. Nous pouvons utiliser la cmdlet Get-ChildItem
de Windows PowerShell pour ce cas d’utilisation.
Cet article traite de la cmdlet PowerShell Get-ChildItem
que nous utiliserons pour obtenir tous les éléments du répertoire et utiliser ses paramètres de commutation de filtre.
la cmdlet Windows PowerShell Get-ChildItem
obtient les éléments enfants dans un emplacement ou un répertoire spécifique. Par exemple, l’emplacement spécifié dans la cmdlet peut être le répertoire du système de fichiers, le registre ou le magasin de certificats. En outre, les éléments enfants mentionnés peuvent être un autre répertoire, sous-dossier ou fichier.
Get-ChildItem -Path C:\Temp
Dans la commande ci-dessus, Get-ChildItem
récupère les éléments enfants du chemin spécifié à l’aide du paramètre -Path
.
la cmdlet Get-ChildItem lorsqu’elle est exécutée, affiche les fichiers, les répertoires avec leurs propriétés Mode
, LastWriteTime
, Length
(taille du fichier) et Name
sur la console PowerShell.
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----l 18/01/2022 8:52 pm WindowsPowerShell
d----l 20/12/2021 3:36 pm Zoom
-a---l 30/12/2020 3:23 pm (151) backup phrase.txt
-a---l 17/06/2021 3:13 am (410049) CEF1750.pdf
-a---l 16/05/2020 3:32 am (677) default.cpu1
-a---l 21/08/2019 9:06 am (2240) Default.rdp
-a---l 26/05/2021 8:24 am (63399) e-sig.jpg
-a---l 09/03/2020 10:48 pm (143) fan config.sfsm
-a---l 19/09/2020 12:07 pm (279515089) MCSA.rar
Filtrer les fichiers à l’aide de la cmdlet Get-ChildItem
dans PowerShell
Nous pouvons utiliser le paramètre de commutateur -File
pour ne renvoyer que les fichiers à l’intérieur d’un chemin ou d’un répertoire.
Exemple de code :
Get-ChildItem -Path C:\Temp -File
Production :
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---l 30/12/2020 3:23 pm (151) backup phrase.txt
-a---l 17/06/2021 3:13 am (410049) CEF1750.pdf
-a---l 16/05/2020 3:32 am (677) default.cpu1
-a---l 21/08/2019 9:06 am (2240) Default.rdp
-a---l 26/05/2021 8:24 am (63399) e-sig.jpg
-a---l 09/03/2020 10:48 pm (143) fan config.sfsm
-a---l 19/09/2020 12:07 pm (279515089) MCSA.rar
l’alias Get-ChildItem
Windows PowerShell utilise un alias intégré par défaut gci
pour la cmdlet Get-ChildItem
. Comme dans l’extrait d’exemple ci-dessous, vous pouvez utiliser l’alias au lieu de la cmdlet pour un script plus rapide et transparent.
Exemple de code :
gci -Path C:\Temp -File
Obtenir tous les fichiers dans les sous-répertoires à l’aide de la cmdlet Get-ChildItem
dans PowerShell
Si nous voulons obtenir tous les fichiers du répertoire et des sous-répertoires, utilisez le paramètre de commutateur -Recurse
.
Exemple de code :
gci -Path C:\Temp -Recurse - Force -File
Remarque : Le paramètre -Force
permet à la cmdlet d’obtenir des éléments auxquels l’utilisateur ne peut pas accéder autrement, tels que des fichiers système ou des fichiers cachés. Le paramètre Force ne remplace pas les restrictions de sécurité. La mise en œuvre varie selon les fournisseurs.
Filtrer les fichiers avec des conditions spécifiques à l’aide de la cmdlet Get-ChildItem
dans PowerShell
En utilisant le paramètre -Filter
, nous pouvons filtrer les résultats en utilisant une seule expression. Le paramètre -Filter
ne nécessite pas le paramètre -Path
car il utilisera votre répertoire de travail actuel.
Exemple de code :
gci -Filter C:\Temp\* -Filter *.txt
Nous pouvons également utiliser les paramètres de commutateur -Include
, qui acceptent plusieurs conditions, un excellent avantage par rapport au paramètre -Filter
. Cependant, rappelez-vous que le paramètre -Include
nécessite que le paramètre -Path
soit présent dans l’expression.
Exemple de code :
gci -Path C:\Temp\* -File -Include CEF*.pdf, *.txt
En plus d’accepter plusieurs conditions, le paramètre -Include
fonctionne bien avec regex, ce qui en fait une méthode plus polyvalente que le paramètre -Filter
.
Production :
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---l 30/12/2020 3:23 pm (151) backup phrase.txt
-a---l 17/06/2021 3:13 am (410049) CEF1750.pdf
Remarque : Le chemin doit inclure un astérisque générique (*
) à la fin lors de l’utilisation du paramètre de commutateur -Include
. Ce caractère générique indique que vous interrogez tous les éléments enfants de chemin ayant l’extension spécifique définie dans le paramètre -Include
.
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedInArticle connexe - PowerShell File
- Extraire le nom de fichier d'un chemin à l'aide de PowerShell
- Obtenir l'extension de fichier à l'aide de PowerShell
- Supprimer le chemin et l'extension du nom de fichier dans PowerShell
- Compresser et décompresser des fichiers à l'aide de PowerShell
- Concaténer des fichiers à l'aide de PowerShell
- Lire les fichiers ligne par ligne dans Windows PowerShell