Comment utiliser Powershell Get-Content et ForEach avec des exemples
Cette zone S vous apprend à combiner PowerShell Get-Content avec la boucle ForEach. Vous pouvez utiliser Get-Content pour répertorier le contenu d'un fichier texte, puis utiliser l'instruction ForEach pour itérer le contenu du fichier texte.
formule 1 sur kodi
Il existe 3 variantes de PowerShell ForEach. Il y a l'instruction ForEach et la méthode ForEach.
En outre, il existe l'applet de commande ForEach-Object.
Ce guide commence par discuter de la commande Get-Content - sa syntaxe, ses paramètres et quelques exemples.
Ensuite, dans les parties restantes du guide, vous apprendrez à utiliser chacune des 3 variantes de PowerShell ForEach et Get-Content. Pour chaque variante de ForEach, je discuterai de sa syntaxe.
Enfin, je montrerai plusieurs exemples d'utilisation de la variante PowerShell ForEach et de Get-Content.
Parcourir les sujets de publication
- Commande Get-Content : syntaxe, paramètres, exemples
- Comment utiliser l'instruction PowerShell ForEach avec Get-Content
- Syntaxe de l'instruction PowerShell ForEach
- Comment itérer un fichier texte avec l'instruction ForEach
- Comment combiner PowerShell Get-ChildItem, ForEach Loop et Get-Content
- Comment créer des dossiers avec le contenu d'un fichier texte
- Comment diviser, puis joindre le contenu d'un fichier texte avec l'instruction Get-Content et ForEach
- Comment utiliser la méthode PowerShell ForEach avec Get-Content
- Comment utiliser l'applet de commande PowerShell ForEach-Object avec Get-Content
- Travailler avec PowerShell Get-Content et ForEach : dernières réflexions
- Références et lectures complémentaires
Commande Get-Content : syntaxe, paramètres, exemples
Comme je l'ai mentionné dans mon introduction, avant de pouvoir utiliser PowerShell ForEach pour itérer le contenu d'un fichier, vous devez d'abord importer le contenu du fichier texte dans PowerShell.
L'applet de commande Get-Content est utilisée pour répertorier ou importer le contenu d'un fichier texte dans PowerShell.
Dans cette section, nous examinerons la syntaxe et les paramètres de Get-Content. Je terminerai la section avec quelques exemples.
Syntaxe et paramètres de la commande Get-Content
La syntaxe simplifiée de la commande Get-Content est…
|__+_|Get-Content a beaucoup plus de paramètres. J'ai spécifié les paramètres couramment utilisés.
Utilisez le - Chemin paramètre pour spécifier le chemin complet () vers le fichier texte. Vous devez inclure l'extension du fichier texte (.txt).
le Chemin Le paramètre est en position 0, vous n'avez donc pas besoin de le spécifier. Vous pouvez simplement entrer la valeur immédiatement après Get-Content. Pour en savoir plus sur les paramètres PowerShell, lisez notre guide - PowerShell Param Parameter AttributeExemples de commandes Get-Content
La capture d'écran ci-dessous est une liste de serveurs. Pour importer le contenu du fichier texte dans PowerShell, je vais exécuter la commande ci-dessous…
|__+_|La commande affiche la liste des serveurs dans le fichier texte.
Comment utiliser l'instruction PowerShell ForEach avec Get-Content
Dans cette section, vous apprendrez à canaliser le résultat de Obtenir du contenu dans Pour chaque Boucler. Ensuite, au sein du Pour chaque Bloc de boucle, effectuer des tâches spécifiques.
La section commence par discuter de la syntaxe de PowerShell ForEach Loop.
Syntaxe de l'instruction PowerShell ForEach
Une instruction PowerShell ForEach effectue une opération sur chaque élément d'une collection d'objets d'entrée. Pour les besoins de ce guide, l'opération sera effectuée sur les éléments d'un fichier texte.
La syntaxe de ForEach Statement est :
|__+_|Comme prévu, la syntaxe commencera par 'ForEach'. Il est ensuite suivi de parenthèses ‘()’ ; et enfin le bloc ‘{}’.
Dans la première section de ce guide, j'ai donné un exemple d'importation du contenu d'un fichier texte avec Obtenir du contenu . Voici la commande…
|__+_|Si nous l'incluons dans la syntaxe de l'instruction ForEach, l'instruction ForEach sera mise à jour comme indiqué ci-dessous :
|__+_|Dans la syntaxe de l'instruction ForEach mise à jour, j'ai remplacé le $collection variables avec Get-Content D:PS-TutorialS ZonesS Zones-Servers.txt commander.
De plus, nous pouvons enregistrer cette commande dans le $collection variable…
|__+_|Ensuite, nous pouvons utiliser la version simplifiée de la syntaxe de l'instruction ForEach…
comment utiliser acestream|__+_|
Pour en savoir plus sur cette puissante instruction PS, cliquez sur PowerShell ForEach : Syntax, Parameters, Examples .
Dans les sous-sections restantes de cette section, je donnerai d'autres exemples.
Comment itérer un fichier texte avec l'instruction ForEach
Dans cette sous-section, je vais ajouter quelques commandes au bloc de commande de l'instruction ForEach. Voici les commandes mises à jour.
|__+_|Si j'exécute le script dans PowerShell ISE , il affiche le contenu du fichier texte.
Dans la première ligne du script, j'ai utilisé Get-Content pour importer le contenu du fichier texte dans PowerShell ; puis j'ai utilisé l'instruction PowerShell ForEach pour itérer le contenu et les lister avec la commande, write-host $item.Comment combiner PowerShell Get-ChildItem, ForEach Loop et Get-Content
Si vous avez plusieurs fichiers texte dans un dossier, vous devez d'abord obtenir le chemin d'accès complet aux fichiers texte. Pour obtenir le chemin complet des fichiers texte, vous avez besoin de la commande Get-ChildItem.
Pour illustrer cela, j'ai créé deux fichiers texte dans un dossier. Voir la capture d'écran ci-dessous…
Comme je l'ai mentionné plus tôt, la première étape consiste à obtenir le chemin d'accès à tous les fichiers texte du dossier. Voici la commande qui fait ce travail…
|__+_|La commande répertorie le chemin complet vers les fichiers texte…
Cependant, si vous avez d'autres éléments dans le dossier, par exemple des sous-dossiers et d'autres types de fichiers, vous devez améliorer la commande pour ne renvoyer que des fichiers texte…
|__+_| J'ai enregistré le résultat de la commande dans une variable pour raccourcir les commandes suivantes.Maintenant que nous avons les chemins d'accès à tous les fichiers texte du dossier, l'étape suivante consiste à utiliser Get-Content pour répertorier le contenu de chaque fichier texte. Cependant, comme il existe plusieurs fichiers texte, nous devons utiliser l'instruction ForEach.
|__+_|Voici le résultat du script dans PowerShell ISE…
Comment créer des dossiers avec le contenu d'un fichier texte
Dans cette sous-section, vous apprendrez à créer des dossiers avec le contenu d'un fichier texte.
Pour le démontrer, j'ai un fichier texte avec des noms.
J'utiliserai Get-Content pour importer le contenu du fichier texte dans PowerShell ; puis utilisez le bloc d'instructions ForEach pour itérer le contenu des fichiers texte.
Enfin, dans le bloc d'instructions ForEach, j'utiliserai appréciation commande pour créer des dossiers avec le contenu du fichier texte.
Cependant, au lieu de séparer les commandes comme nous l'avons fait jusqu'à présent, je vais combiner toutes les commandes. Voici le scénario…
|__+_|Dans cette commande, j'ai utilisé les commandes de l'invite de commande Windows, CD et mkdir . Voici la version PowerShell de la commande…
|__+_|Et voici le résultat dans PoweShell ISE :
Alternativement, si vous ne voulez pas que les informations sur les dossiers créés s'affichent, redirigez la sortie du Nouvel article commande à Out-Null .
Le script ressemblera maintenant à ceci…
|__+_|Comment diviser, puis joindre le contenu d'un fichier texte avec l'instruction Get-Content et ForEach
En recherchant cet article, je suis tombé sur ceci stackoverflow.com question. La personne qui a posé la question dispose d'un fichier texte contenant les chaînes suivantes :
|__+_|Cependant, la personne souhaite modifier les chaînes pour qu'elles ressemblent à ceci :
|__+_|Pour reproduire cette situation, j'ai créé un fichier texte avec les chaînes d'origine. Ensuite, j'ai créé un court script qui permettra d'obtenir le résultat requis.
Voici le scénario.
|__+_|La première et la deuxième ligne sont relativement simples. À la ligne 1, j'ai enregistré le chemin du fichier texte dans une variable.
Puis, à la ligne 2, j'ai utilisé Obtenir du contenu pour importer le contenu du fichier texte dans PowerShell et enregistrer le résultat dans une autre variable.
Enfin, aux lignes 3, 4 et 5, j'ai utilisé le résultat de la Obtenir du contenu commande dans une instruction PowerShell ForEach. J'ai enregistré le résultat de l'instruction ForEach dans une autre variable.
Le plus important de l'instruction ForEach est ce que j'ai dans le bloc de commande…
|__+_|La première partie de la commande utilise la méthode PowerShell Split pour casser le contenu du fichier texte. Voici la commande…
|__+_|Ce que fait cette commande, c'est casser les chaînes dans le fichier texte à l'emplacement | personnage. Pour vous aider à comprendre cela, voici les chaînes d'origine dans le fichier texte.
|__+_|Le résultat de la commande split crée les chaînes individuelles suivantes :
|__+_|Lorsque PowerShell split crée des chaînes individuelles comme celle-ci, chaque élément est représenté par un numéro de position, à partir de 0 (zéro). Ainsi, vous pouvez accéder à la première chaîne, 80055555 avec [0], le second avec [1], etc.
Avant d'expliquer la partie suivante de la commande, voyons la sortie que nous voulons obtenir. C'est ici…
comment définir une macro sur un clavier|__+_|
Si nous devions casser cette sortie avec PowerShell Split, nous y parviendrons…
|__+_|Si vous comparez cela au résultat lorsque nous divisons la chaîne d'origine, vous remarquez que la sous-chaîne en position 4 du fichier texte d'origine ( DCDOCS ) est maintenant en position 2. Toutes les autres sous-chaînes ont conservé leur position d'origine.
C'est là que le travail du deuxième bit de la commande s'affiche…
|__+_|Cette commande signifie simplement…
|__+_| J'ai inclus les virgules (,) pour séparer les sous-chaînes à des fins d'illustration. La commande n'inclut pas les virgules.Jusqu'à présent, j'ai expliqué cette commande ..
|__+_|Jusqu'à ce point…
|__+_|Le dernier bit utilise PowerShell Join Operator pour insérer le caractère d'origine |, entre la nouvelle chaîne créée par cette commande…
|__+_|Dans les derniers paragraphes, j'ai expliqué la ligne 4 de ce script.
|__+_|Enfin, à la ligne 6, j'ai canalisé la sortie de la nouvelle chaîne enregistrée dans nouveau fichier variable en Contenu de l'ensemble . Contenu de l'ensemble remplace le fichier d'origine par la nouvelle chaîne.
Ceci est un brillant exemple de la façon dont vous pouvez combiner Get-Content avec l'instruction PowerShell ForEach !
Comment utiliser la méthode PowerShell ForEach avec Get-Content
La méthode ForEach a été introduite dans PowerShell version 4. Cette méthode offre aux développeurs de scripts PowerShell un autre moyen d'itérer le contenu d'un fichier texte.
Dans cette section, vous apprendrez à utiliser la méthode ForEach avec Get-Content avec plusieurs exemples.
La section commence par la syntaxe de la méthode ForEach.
Syntaxe de la méthode PowerShell ForEach
La syntaxe de la méthode PowerShell ForEach est…
|__+_|L'accès à la méthode ForEach d'un objet est similaire à l'accès à toute autre méthode PowerShell. La seule différence est que la méthode ForEach inclut un bloc {} dans le bloc ().
Comment combiner PowerShell Get-ChildItem, ForEach Method et Get-Content
Dans la section Déclaration ForEach de ce guide, j'ai partagé le script ci-dessous…
|__+_|Le script utilisé Get-ChildItem pour renvoyer le chemin complet des fichiers texte de ce dossier…
Voici le script équivalent de la méthode ForEach…
|__+_|Comment créer des dossiers avec le contenu d'un fichier texte avec la méthode ForEach
Semblable à l'exemple de la dernière sous-section, j'ai utilisé le script ci-dessous dans la section Instruction ForEach de ce guide…
|__+_|Le script a utilisé Get-Content et ForEach Statement pour créer des dossiers en utilisant le contenu du fichier texte dans la capture d'écran ci-dessous…
Contrairement à l'instruction ForEach qui utilise la commande…
|__+_|La méthode PowerShell ForEach appelle la méthode ForEach dans le résultat de Get-Content comme ceci…
|__+_|Ensuite, dans le bloc (), nous insérons le bloc {} et exécutons le Nouvel article commander. Cependant, au lieu d'utiliser le $nomfichier variable, cette fois, j'utilise la variable automatique $_
|__+_|La version finale de la méthode ForEach du script ressemble à ceci…
|__+_|Cette fois, je veux exécuter la commande dans PowerShell, au lieu de PowerShell ISE. Donc, j'aurai tout le script en une seule ligne…
|__+_|Voici la commande dans PowerShell et les dossiers créés. J'ai également inclus la capture d'écran du fichier texte avec les noms de dossier…
comment regarder le football nfl sur kodi
Comment diviser, puis joindre le contenu d'un fichier texte avec la méthode Get-Content et ForEach
Dans la section Instruction ForEach de ce guide, j'ai donné un exemple avec ceci stackoverflow.com question. La personne qui a posé la question souhaite modifier la chaîne suivante dans un fichier texte…
|__+_|Pour ça…
|__+_|Pour résoudre le problème, j'ai créé ce script qui utilise l'instruction Get-Content et PowerShell ForEach…
|__+_|Dans cette section du guide, nous expliquons comment utiliser Obtenir du contenu et ForEach Method, voici le script équivalent avec ForEach Method…
|__+_|La modification est la même sauf que, dans cette version modifiée, j'ai remplacé l'instruction ForEach par la méthode ForEach.
Comment utiliser l'applet de commande PowerShell ForEach-Object avec Get-Content
Dans cette dernière section, je vais répéter certains des exemples que j'ai déjà donnés dans les deux premières sections.
Cependant, dans cette section, je remplacerai l'instruction ForEach et/ou la méthode ForEach par l'applet de commande ForEach-Object.
La section commence par la syntaxe de l'applet de commande ForEach-Object
Syntaxe de l'applet de commande ForEach-Object
Il existe deux syntaxes de ForEach-Object. Voici leurs versions simplifiées :
|__+_| |__+_|Les syntaxes de ForEach-Object peuvent paraître complexes. Cependant, il est très facile à utiliser. Pour ce guide, nous nous concentrerons sur InputObject paramètre.
C'est le paramètre qui alimente l'entrée dans ForEach-Object. De plus, InputObject peut également être envoyé via un pipeline…
|__+_|Comment créer des dossiers avec le contenu d'un fichier texte avec l'applet de commande ForEach-Object
Dans les première et deuxième sections de ce guide, j'ai créé les scripts suivants.
|__+_| |__+_|Le premier script utilise l'instruction Get-Content ForEach pour créer des dossiers en utilisant le contenu du fichier texte dans la capture d'écran ci-dessous…
De plus, le deuxième script utilise la méthode Get-Content ForEach pour effectuer la même tâche.
Si vous souhaitez utiliser l'applet de commande ForEach-Object au lieu de l'instruction ForEach ou de la méthode ForEach, le script sera modifié comme indiqué ci-dessous…
câble tv coaxial vers hdmi|__+_|
Comment diviser, puis joindre le contenu d'un fichier texte avec l'applet de commande Get-Content et ForEach-Object
Dans les sections Instruction ForEach et Méthode ForEach, j'ai créé les scripts suivants pour résoudre ce problème. stackoverflow.com question.
|__+_| |__+_|Voici la version de l'applet de commande ForEach-Object du même script :
|__+_|Travailler avec PowerShell Get-Content et ForEach : dernières réflexions
Les sujets partagés dans ce guide peuvent prêter à confusion, notamment parce qu'il couvre 3 variantes de PowerShell ForEach. Pour faciliter la compréhension, voici un tableau récapitulant les concepts partagés dans cet article.
Question | Instruction ForEach | Méthode ForEach | Applet de commande ForEach-Object |
---|---|---|---|
Accepte l'entrée de Get-Content | ✓ | ✓ | ✓ |
Comment accepte-t-il les entrées de Get-Content ? | Pipeline |, ou dans le bloc de condition ForEach Statement | Méthode PowerShell .() | Pipeline | ou via le InputObject paramètre |
Comment transforme-t-il l'entrée de Get-Content ? | Crée une variable temporelle qui représente chaque objet de la collection | Représente chaque objet de la collection avec la variable de pipeline automatique PowerShell, $_ | Représente chaque objet de la collection avec la variable de pipeline automatique PowerShell, $_ |
Exemple de scénario ? | ForEach ($filename in Get-Content D:PS-Tutoriallist.txt) Out-Null | (Get-Content D:PS-Tutoriallist.txt).ForEach( New-Item -Path D:PS-Tutorial -Name $_ -ItemType Directory ) | Get-Content D:PS-Tutoriallist.txt | Pour chaque objet New-Item -Path D:PS-Tutorial -Name $_ -ItemType Directory |
C'est tout - notre guide mis à jour sur l'utilisation de PowerShell Get-Content et ForEach ! J'espère que vous l'avez trouvé utile?
Si vous l'avez trouvé utile, merci de voter Oui à la question Was this post Helpful 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 zones S techniques PowerShell, visitez notre page de guide pratique Windows PowerShell. Vous pouvez également trouver notre page Travail à domicile très utile.