Comment puis-je remplacer chaque occurrence d'une chaîne dans un fichier avec PowerShell

Comment puis-je remplacer chaque occurrence d'une chaîne dans un fichier avec PowerShell

PowerShell est suffisamment puissant pour effectuer les opérations d'explorateur de fichiers, telles que la copie, le déplacement, le renommer ou la suppression d'un fichier. Il peut lire et remplacer le contenu dans un fichier texte, que ce soit une chaîne ou un seul mot. En particulier, PowerShell a des commandes qui peuvent être utilisées pour lire et remplacer chaque instance d'une chaîne.

Ce tutoriel démontrera quelques méthodes pour résoudre la requête mentionnée.

Comment remplacer chaque instance d'une chaîne dans un fichier en utilisant PowerShell?

Ces approches peuvent être utilisées pour fixer la requête indiquée:

  • Get-content et set-content.
  • Io.Déposer.

Méthode 1: Utilisez les méthodes «Get-Content» et «Set-Content» afin de remplacer chaque instance d'une chaîne dans un fichier de document

Cette approche utilise d'abord le «Obtenir du contenu”Cmdlet pour récupérer les données à l'intérieur du fichier, puis utilise le"Contenu set”Cmdlet pour remplacer ou écrire la nouvelle occurrence ou le contenu. En particulier, le «-Remplacer»Le paramètre est utilisé pour remplacer l'instance d'une chaîne dans un fichier.

Jetez un œil à l'exemple donné pour obtenir une compréhension approfondie de celle-ci.

Exemple

Tout d'abord, vérifions la version du fichier avant de remplacer chaque occurrence. Pour cette raison, exécutez le «Obtenir du contenu”Cmdlet à côté du chemin du fichier:

> Get-Content C: \ Doc \ File.SMS

Maintenant, remplaçons le mot "Chat" avec le "Chien»:

> (Get-Content C: \ Doc \ File.txt) -replace 'chat', 'chien' | Set-contenu c: \ doc \ fichier.SMS

Selon la commande ci-dessus:

  • Premièrement, nous avons utilisé le «Obtenir du contenu”Cmdlet à côté du chemin du fichier dans la commande inversée.
  • Ensuite, nous avons ajouté le "-Remplacer»Paramètre et spécifié deux mots séparés par une virgule, où le premier mot sera remplacé par le second.
  • Ensuite, le pipeline «|"Est utilisé pour transférer la sortie au"Contenu set”Cmdlet comme entrée.
  • Enfin, cette cmdlet est utilisée à côté du chemin de fichier pour confirmer le remplacement de la chaîne dans un fichier:

Pour la vérification, encore une fois, obtenez le contenu du fichier sélectionné:

> Get-Content C: \ Doc \ File.SMS

On peut observer que le mot «Chat"A été remplacé par"Chien" avec succès.

Méthode 2: Utilisez le «système.Io.Fichier "Méthode pour remplacer chaque occurrence / instance d'une chaîne dans un fichier

Microsoft .Classe net "Déposer"Est spécifiquement utilisé pour gérer l'explorateur de fichiers. En particulier, il joue un rôle essentiel dans le remplacement de l'instance d'une chaîne dans un fichier.

Exemple

Tout d'abord, consultez le contenu du «php.SMS»:

> Get-contenu c: \ doc \ php.SMS

Ensuite, exécutez les commandes suivantes:

> $ str = [système.Io.Fichier] :: readallText ("C: \ doc \ php.SMS").Remplacer ("php", "python")
> [Système.Io.Fichier] :: WriteALLText ("C: \ Doc \ PHP.txt ", $ str)

Selon le code ci-dessus:

  • Tout d'abord, nous avons créé une variable, puis spécifié le «Io.Déposer" classe.
  • Le "ReadallText ()«La méthode de la classe mentionnée lit le texte dans le fichier, tandis que le«Remplacer()»Méthode remplace les occurrences sélectionnées dans le fichier texte.
  • Dans la deuxième ligne, nous avons utilisé le «[Système.Io.Fichier] :: writeAllText ()"Méthode et ajouté le chemin du fichier puis variable pour remplacer l'occurrence spécifiée dans le fichier:

Vérifions si le mot a été remplacé ou non. Pour

> Get-contenu c: \ doc \ php.SMS

Le mot "php"A été remplacé par"Python" avec succès.

Conclusion

Avec PowerShell, chaque occurrence / instance d'une chaîne dans un fichier peut être remplacée à l'aide de deux méthodes, dont «Obtenir du contenu" et "Contenu set" et "Système.Io.Déposer". Les deux méthodes récupèrent d'abord le fichier texte, puis remplacent l'occurrence du mot spécifié dans ce fichier texte. Ce message a présenté un guide approfondi pour résoudre le problème déclaré.