Comment itérer le contenu d'un fichier texte dans Powershell

Si vous avez un fichier texte avec des données que vous souhaitez utiliser, vous pouvez utiliser PowerShell Get-Content pour répertorier le contenu du fichier. Utilisez ensuite la boucle PowerShell ForEach pour parcourir le fichier ligne par ligne.

Vous pouvez également utiliser l’applet de commande ForEach-Object pour parcourir le contenu du fichier répertorié avec le Obtenir du contenu commande.

Enfin, il y a un Pour chaque Méthode dans la sortie du Obtenir du contenu commande. Vous pouvez également utiliser ForEach Méthode pour itérer le contenu d’un fichier texte.

Parcourir les sujets de publication

Comment utiliser Get-Content pour répertorier le contenu d’un fichier

Comment utiliser Get-Content pour répertorier le contenu d'un fichier

Avant de pouvoir itérer le contenu d’un fichier texte avec le PowerShell Pour chaquevous devez lister le contenu avec le Obtenir du contenu commande.

La syntaxe générale de la Obtenir du contenu la commande est…

Get-Content -Path 

Le Obtenir du contenu La commande lit ligne par ligne le contenu d’un fichier texte. Ensuite, il renvoie une collection d’objets.

De plus, un objet dans la collection d’objets représente une ligne du contenu dans le fichier texte. Ce point est important car cela signifie que nous pouvons accéder aux objets individuels renvoyés par le Obtenir du contenu commande.

C’est ce qui nous donne la possibilité d’utiliser PowerShell Pour chaque pour itérer le contenu d’un fichier texte – ligne par ligne.

Une autre caractéristique importante de la Obtenir du contenu commande est qu’elle peut lire un nombre spécifié de lignes à partir du début ou de la fin d’un fichier texte.

Pour lancer des exemples dans ce guide, exécutez la commande ci-dessous :

$files = Get-Content -Path D:\PS-Tutorial\file-with-numbers.txt

Voici le contenu du fichier texte utilisé dans la commande. La commande répertorie le contenu du fichier et l’enregistre dans une variable appelée des dossiers.

Comment itérer le contenu d'un fichier texte dans Powershell

Enfin, pour illustrer mon point précédent sur la lecture d’un nombre spécifié de lignes au début ou à la fin du fichier, exécutez la commande ci-dessous :

Get-Content -Path D:\PS-Tutorial\file-with-numbers.txt -Head 3

La commande lit les trois premières lignes du fichier texte spécifié. Ceci est précisé par le Tête paramètre.

Voici le résultat de la commande…

Alternativement, vous pouvez renvoyer les dernières lignes “N” avec le Queue paramètre de la Obtenir du contenu commande.

Voici un exemple de commande qui renvoie les 4 dernières lignes d’un fichier…

Get-Content -Path D:\PS-Tutorial\file-with-numbers.txt -Tail 4

Et voici le résultat de la commande…

Comment itérer le contenu d'un fichier texte dans Powershell

Comment utiliser PowerShell ForEach Loop et Get-Content pour parcourir un fichier

Comment utiliser PowerShell ForEach Loop et Get-Content pour parcourir un fichier

Dans mon introduction à ce guide, j’ai mentionné que la première étape pour itérer le contenu d’un fichier texte avec PowerShell consiste à lister son contenu.

J’ai également mentionné qu’après avoir listé le contenu d’un fichier texte avec le Obtenir du contenu commande, vous pouvez utiliser PowerShell Pour chaque pour itérer le contenu du fichier texte.

Enfin, j’ai mentionné que vous pouvez itérer un fichier texte avec le PowerShell Pour chaque boucle, Pour chaque-Object Cmdlet, ou le Pour chaque Méthode.

Dans la première section de ce guide, je vous ai montré comment utiliser le Obtenir du contenu commande pour lister le contenu d’un fichier texte. De plus, j’ai exécuté cette commande qui a enregistré le contenu du fichier spécifié dans le des dossiers variable.

$files = Get-Content -Path D:\PS-Tutorial\file-with-numbers.txt

Dans cette section, je vais vous apprendre la syntaxe du Pour chaque boucle. Ensuite, je vais vous montrer un exemple de Powershell ForEach $file dans $files – essentiellement, en utilisant Pour chaque boucle pour itérer les fichiers stockés dans notre des dossiers variable.

Roulons !

Syntaxe de la boucle PowerShell ForEach

La syntaxe de la boucle PowerShell ForEach est…

ForEach ($file in $files) {

}

Dans la syntaxe, $fichiers représente une variable avec une liste d’éléments. Dans cet exemple, le $fichiers variable est la sortie de la Obtenir du contenu commande illustrée ci-dessous…

$files = Get-Content -Path D:\PS-Tutorial\file-with-numbers.txt

Revenons à la syntaxe de la boucle PowerShell ForEach, la variable $fichier représente chaque élément enregistré dans $fichiers variable.

De plus, chaque fois que ForEach Loop passe par un cycle, il enregistre l’un des $fichiers variable dans le temps $fichier variable. Ensuite, il utilise cette variable enregistrée temporairement dans la parenthèse de commande {}, du ForEach.

Powershell ForEach $file dans $files Exemple

Dans la dernière sous-section, je vous ai montré la syntaxe de ForEach Loop comme…

ForEach ($file in $files) {

}

J’ai également expliqué qu’à chaque cycle de la boucle Powershell ForEach, il enregistre l’un des objets enregistrés dans le $fichiers variable dans une variable temporelle appelée $fichier.

Dans cette section, j’utiliserai ce principe pour itérer le contenu du fichier texte enregistré dans $fichiers variable. Ensuite, dans la partie commande de la boucle ForEach, j’utiliserai le Nouvel article commande pour créer un dossier avec les éléments enregistrés dans la variable temporelle, $fichier.

Voici la commande qui fait le travail…

$files = Get-Content -Path D:\PS-Tutorial\file-with-numbers.txt
ForEach ($file in $files) {
  New-Item -Name $file -Path "D:\PS-Tutorial\ForEachEx" -ItemType "directory" | Out-Null } 
}

Avant d’exécuter la commande, voici une capture d’écran du dossier D:\PS-Tutoriel\ForEachEx

Pour exécuter le script, copiez-le dans un nouveau document dans PowerShel ISE. Ensuite, exécutez le script en cliquant sur l’icône en surbrillance.

Une fois que j’ai exécuté la commande, les dossiers sont créés dans D:\PS-Tutoriel\ForEachEx:

Au cas où vous l’auriez oublié, ce sont les mêmes éléments répertoriés dans mon fichier texte d’origine !

Comment itérer le contenu d'un fichier texte dans Powershell

Essentiellement, la boucle PowerShell ForEach itère le contenu du fichier texte (renvoyé par le Obtenir du contenu commande). Ensuite, utilisez les résultats pour créer un nouveau dossier…

Comment utiliser PowerShell ForEach-Object et Get-Content pour parcourir un fichier

Comment utiliser PowerShell ForEach-Object et Get-Content pour parcourir un fichier

Dans la dernière section, je vous ai montré comment utiliser la boucle PowerShell ForEach pour itérer le contenu du fichier texte renvoyé par le Obtenir du contenu commande.

Dans cette section, je vais vous montrer comment utiliser l’applet de commande ForEach-Object pour effectuer la même tâche. Mais d’abord, commençons par la syntaxe de la commande ForEach-Object.

Syntaxe de la commande PowerShell ForEach-Object

Pour des raisons pratiques, la syntaxe de la commande PowerShell ForEach-Object est…

 | ForEach-Object {

}

PowerShell ForEach-Object prend les valeurs des objets d’un pipeline et exécute la commande spécifiée dans le bloc de commande {} de ForEach-Object.

Contrairement au PowerShell Pour chaque Boucle où, à chaque cycle, un objet est enregistré dans une variable temporelle spécifiée – en PowerShell Pour chaque objetl’objet est enregistré dans une variable temporelle automatique “objet dans le pipeline courant”, $_.

Enfin, PowerShell Pour chaque objet utilise la variable automatique, $_ comme entrée pour exécuter la commande dans le bloc de commande {}.

Plus dans la sous-section suivante…

Powershell ForEach-Object $_ Dans $files Exemple

Dans cet exemple, je vais utiliser le contenu du fichier enregistré dans le $fichiers variable, pour créer des dossiers. L’exemple est similaire à ce que nous avons fait dans le Pour chaque Partie boucle.

Cependant, au lieu d’utiliser Pour chaque Boucle, nous utiliserons Pour chaque objet Applet de commande.

Avant de continuer, regardons la capture d’écran du fichier texte d’origine.

De plus, voici le script qui a enregistré le contenu du fichier dans le $fichiers variable.

$files = Get-Content -Path D:\PS-Tutorial\file-with-numbers.txt

Maintenant que nous avons rafraîchi nos esprits sur le fichier texte d’origine, voyons comment utiliser le fichier dans le PowerShell Pour chaque objet commande.

Voici le script qui crée des dossiers avec le contenu du fichier texte :

$files = Get-Content -Path D:\PS-Tutorial\file-with-numbers.txt
$files | ForEach-Object {
   New-Item -Name $_ -Path "D:\PS-Tutorial\ForEach-ObjectEx" -ItemType "directory" | Out-Null 
}
Dans ce script, je veux créer les dossiers dans un dossier différent, D:\PS-Tutorial\ForEach-ObjectEx. Pour confirmer que le dossier est vide avant d’exécuter le script, voici la capture d’écran…
Comment utiliser PowerShell ForEach-Object et Get-Content pour parcourir un fichier

Pour exécuter le script, copiez-le dans PowerShell ISE et exécutez-le.

Après avoir exécuté le script, de nouveaux dossiers (avec les noms des fichiers dans le fichier texte) sont maintenant créés dans D:\PS-Tutorial\ForEach-ObjectEx.

Comment utiliser PowerShell ForEach-Object et Get-Content pour parcourir un fichier

Comment utiliser la méthode PowerShell ForEach() et Get-Content pour parcourir un fichier

Comment utiliser la méthode PowerShell ForEach() et Get-Content pour parcourir un fichier

Jusqu’à présent, ce guide a expliqué comment répertorier le contenu d’un fichier texte avec la commande Get-Content. J’ai également expliqué comment itérer le contenu d’un fichier texte avec la boucle PowerShell ForEach et le ForEach-Object Cdlet.

Dans cette section, vous apprendrez à itérer le contenu d’un fichier texte avec la méthode PowerShell ForEach. Comme pour les autres sections, je commencerai cette section par la syntaxe de la méthode PowerShell ForEach.

Syntaxe de PowerShell ForEach() Méthode Commande

La syntaxe de la commande de méthode PowerShell ForEach() est…

.ForEach( {

} )

Comme tous les PowerShell Méthodespour accéder à ForEach Méthodeentrez un point après l’objet, suivi du mot Pour chaque.

Puis après Pour chaqueentrez une parenthèse ouvrante, (. Ensuite, vous entrez un bloc de commande {} – vos commandes sont exécutées dans ce bloc.

Enfin, fermez le ForEach Méthode bloc avec une parenthèse fermante, ).

Comme la commande ForEach-Object, la commande ForEach Méthode utilise la variable automatique temporelle “objet dans le pipeline actuel”, $_.

Dans la sous-section suivante, vous verrez comment utiliser le ForEach Méthode.

Powershell ForEach() $_ Dans $files Exemple

Le script de cette section accède au Pour chaque Méthode dans le $fichiers variable – la variable créée avec cette commande…

$files = Get-Content -Path D:\PS-Tutorial\file-with-numbers.txt

Voici le script qui utilise Pour chaque Méthode pour itérer le contenu du fichier texte, enregistré dans $fichiers variable. Ensuite, crée un dossier avec chaque élément.

$files = Get-Content -Path D:\PS-Tutorial\file-with-numbers.txt
$files.ForEach( {
   New-Item -Name $_ -Path "D:\PS-Tutorial\ForEachMethodEx" -ItemType "directory" | Out-Null 
} )

Dans cet exemple, je vais créer les dossiers dans le chemin, D:\PS-Tutoriel\ForEachMethodEx. Encore une fois, pour confirmer que le dossier est vide avant d’exécuter le script ci-dessus, voici une capture d’écran du dossier…

Comme les deux autres scripts, pour exécuter ce script, copiez-le dans PowerShell ISE.

Comment utiliser la méthode PowerShell ForEach() et Get-Content pour parcourir un fichier

Une fois que j’ai exécuté le script, il a créé les dossiers en utilisant les informations du fichier texte.

C’est ça! Notre version mise à jour de “Comment itérer le contenu d’un fichier texte dans Powershell”.

Vous avez trouvé ce guide parce que vous avez recherché « foreach in file powershell » ou sa variante. J’espère avoir pu répondre à votre question.

Si j’ai répondu à votre question, merci de voter Oui à la question “Ce message était-il utile” ci-dessous.

Alternativement, vous pouvez poser une question, laisser un commentaire ou fournir plus de commentaires avec le formulaire “Laisser une réponse” qui se trouve à la fin de cette page.

Enfin, pour plus de guides techniques sur la technologie PowerShell, visitez notre page de guide pratique Windows PowerShell. Vous pouvez également trouver notre page Travail à domicile très utile.

Cet article a été entièrement réécrit et mis à jour avec de nouveaux exemples.

Références et lectures complémentaires

  1. Obtenir du contenu
  2. Pour chaque objet
  3. about_Foreach
  4. PowerShell ForEach : syntaxe, paramètres, exemples
  5. 18 commandes Powershell les plus utiles pour les administrateurs Windows
  • Ce message vous a-t-il été utile ?
  • Oui (21)Non (0)

Enregistrer un commentaire

Plus récente Plus ancienne