Cet article couvrira un guide pour effectuer une boucle dans un répertoire à l'aide de PowerShell.
Comment parcourir les fichiers d'un répertoire à l'aide de PowerShell ?
Le PowerShell peut parcourir les fichiers du répertoire en utilisant le ' Pour chaque() ' boucle. La boucle 'Foreach()' est utilisée pour traiter tous les éléments à la fois, comme renommer ou copier plusieurs fichiers. Tandis que le ' Foreach-Objet() ” applet de commande fait référence à un élément à la fois dans une boucle. Il traite un élément à la fois.
Exemple 1 : Boucler dans les fichiers à l'aide de 'Foreach-Object' dans le script PowerShell
Dans cet exemple, nous allons parcourir les fichiers d'un répertoire à l'aide de PowerShell et imprimer le nom des fichiers disponibles dans ce répertoire :
Get-ChildItem 'C:\Doc' |
Foreach-Objet {
$_ .Nom et prénom
}
Selon le code ci-dessus :
- Tout d'abord, ajoutez le ' Get-ChildItem ' à côté du chemin du répertoire pour obtenir les fichiers disponibles dans ce répertoire.
- Après cela, utilisez le ' | ' pipeline pour transférer la sortie vers le ' Foreach-Objet() ” applet de commande pour opérer sur chaque élément de la collection d'objets d'entrée.
- Ajouter le ' $_.NomComplet ” applet de commande pour afficher le nom des fichiers récupérés depuis le répertoire :
On peut observer que les fichiers du répertoire ont été affichés dans la console PowerShell à l'aide du ' Foreach-Objet() ' boucle.
Exemple 2 : Boucler dans les fichiers à l'aide de « Foreach-Object » avec « -Recurse » dans le script PowerShell
Maintenant, parcourez les sous-répertoires à l'aide de PowerShell ' -récurrence ' paramètre :
On peut observer que les fichiers des sous-répertoires ont également été affichés dans la console PowerShell.
Exemple 3 : Boucler dans les fichiers à l'aide de « Foreach-Object » dans la console PowerShell
Pour effectuer la même opération, tout d'abord, voyons les fichiers disponibles avant de supprimer celui sélectionné dans le répertoire respectif en utilisant le ' Get-ChildItem ” applet de commande à côté du chemin du répertoire :
> Get-ChildItem 'C:\Doc'
Les fichiers disponibles dans le répertoire ont été affichés dans la console PowerShell.
Maintenant, supprimons les fichiers avec le ' .SMS ' extension en utilisant le ' Foreach-Objet() ' boucle dans PowerShell :
Get-ChildItem 'C:\Doc' * .ps1 |Foreach-Objet {
Retirer l'objet $_ .Nom et prénom
}
Selon le code ci-dessus :
- Tout d'abord, ajoutez le ' Get-ChildItem ” cmdlet suivi du chemin du répertoire et du “ *.ps1 ' pour sélectionner les fichiers avec l'extension ' .ps1 ' extension.
- Après cela, utilisez le ' | ' pipeline pour transférer la sortie vers le ' Foreach-Objet() ' boucle.
- À l'intérieur de ' Foreach-Objet() ' boucle, ajoutez le ' Retirer l'objet cmdlet ' pour supprimer les fichiers récupérés par le ' $_.NomComplet ' propriété:
Maintenant, vérifions si les fichiers ont été supprimés ou non en récupérant les fichiers dans le répertoire :
> Get-ChildItem 'C:\Doc'
Comme vous pouvez voir que les fichiers avec le ' .SMS ' L'extension a été supprimée à l'aide d'une boucle dans PowerShell.
Conclusion
Pour parcourir les fichiers d'un répertoire ' Foreach-Objet() ” La boucle est utilisée dans PowerShell. Il traite et fait référence à un élément à la fois à partir d'une collection d'éléments ou d'objets. De plus, cela aide à supprimer, renommer ou copier plusieurs fichiers. Cet article a couvert un guide complet pour parcourir les fichiers d'un répertoire à l'aide de PowerShell.