Comment remplacer un mot dans plusieurs fichiers texte sous Windows 10

click fraud protection

Les éditeurs de fichiers texte comme le Bloc-notes et Notepad ++ sont utilisés pour créer de nombreux types de fichiers différents comme Les sous-titres, fichiers journaux, fichiers de commandes, scripts PowerShell, etc. Lorsqu'un éditeur de fichiers texte peut créer ces fichiers, il peut également les modifier. Si vous avez beaucoup de fichiers texte, ceux qui ont l'extension de fichier TXT et vous devez remplacer un mot, ou plusieurs mots, vous pouvez le faire avec un script PowerShell. Le script fait en sorte que vous n'avez pas à ouvrir individuellement chaque fichier, puis à remplacer le mot. Vous pouvez utiliser ce même script pour d'autres types de fichiers qui peuvent être créés avec un éditeur de fichiers texte. Voici comment remplacer un mot dans plusieurs fichiers texte.

Remplacer Word dans les fichiers texte

Tout d'abord, vous devez placer tous vos fichiers texte dans le même dossier. Le script examinera un seul répertoire lors de son exécution et non l'ensemble de votre système, c'est pourquoi vous avez besoin de tous les fichiers au même endroit.

instagram viewer

Ouvrez un nouveau fichier Bloc-notes et collez-y les éléments suivants.

Get-ChildItem 'Chemin d'accès aux fichiers \ *. Txt' -Recurse | Pour chaque { (Get-Content $ _ | ForEach {$ _ -replace 'Original-Word', 'New-Word'}) | Set-Content $ _. }

Vous devez modifier le script ci-dessus. Tout d'abord, modifiez la partie "Chemin d'accès aux fichiers" avec le chemin d'accès réel au dossier contenant tous les fichiers texte. Ensuite, remplacez le «mot d'origine» par le mot que vous souhaitez remplacer. Enfin, remplacez le «Nouveau-mot» par le mot avec lequel vous souhaitez remplacer l'ancien. Par exemple, j’ai quelques fichiers texte qui contiennent tous le mot ‘Post’. Je veux remplacer le mot Post par Article. Voici à quoi ressemblera le script une fois que je l'aurai modifié pour l'adapter à mon scénario.

Get-ChildItem 'C: \ Users \ fatiw \ Desktop \ notepad-files \ *. Txt' -Recurse | Pour chaque { (Get-Content $ _ | ForEach {$ _ -replace 'Post', 'Article'}) | Set-Content $ _. }

Une fois que vous avez modifié le script, enregistrez-le avec l'extension de fichier ps1. Assurez-vous de changer le type de fichier des fichiers texte à tous les fichiers dans la boîte de dialogue Enregistrer sous du Bloc-notes. Exécutez le script et il exécutera la fonction de remplacement.

Si vous souhaitez utiliser ce même script pour les fichiers XML ou LOG, modifiez l'extension de fichier dans la première ligne. Par exemple,

Cela deviendra

Get-ChildItem 'C: \ Users \ fatiw \ Desktop \ notepad-files \ *. Txt'

Cette;

Get-ChildItem 'C: \ Users \ fatiw \ Desktop \ notepad-files \ *. Xml'

Il y a une chose que vous devez savoir sur ce script; il ne fait pas correspondre les mots aux mots. Si vous cherchez à remplacer chaque occurrence de «the» par «a», il remplacera également «the» au début de «these» et «there». C'est une lacune de ce script. Pour contourner ce problème, vous pouvez utiliser Notepad ++ qui a une option de mot de correspondance.

watch instagram story