Jak nahradit slovo ve více textových souborech v systému Windows 10

Editory textových souborů jako Notepad a Notepad++ se používají k vytváření mnoha různých typů souborů, jako jsou titulky, soubory protokolu, dávkové soubory, skripty PowerShell a další. Kde může editor textových souborů tyto soubory vytvořit, může je také upravit. Pokud máte mnoho textových souborů, soubory s příponou TXT a potřebujete nahradit slovo nebo několik slov v nich, můžete tak učinit pomocí skriptu PowerShell. Skript to umožňuje, abyste nemuseli jednotlivě otevírat každý soubor a pak nahrazovat slovo. Stejný skript můžete použít pro jiné typy souborů, které lze vytvořit pomocí editoru textových souborů. Zde je návod, jak můžete nahradit slovo ve více textových souborech.

Nahraďte slovo v textových souborech

Nejprve musíte všechny textové soubory umístit do stejné složky. Skript při svém spuštění prozkoumá pouze jeden adresář a ne celý váš systém, proto potřebujete všechny soubory na jednom místě.

Otevřete nový soubor programu Poznámkový blok a vložte do něj následující.

Get-ChildItem 'Path-to-files*.txt' -Recurse | ForEach {
(Get-Content $_ | ForEach { $_ -replace 'Original-Word', 'New-Word' }) |
Set-Content $_
}

Musíte upravit výše uvedený skript. Nejprve upravte část ‚Cesta k souborům‘ se skutečnou cestou ke složce se všemi textovými soubory v ní. Za druhé nahraďte ‚Original-Word‘ slovem, které chcete nahradit. Nakonec nahraďte ‚New-Word‘ slovem, kterým chcete nahradit to staré. Například mám několik textových souborů, které všechny obsahují slovo ‚Post‘. Chci nahradit slovo příspěvek za článek. Takto bude skript vypadat, jakmile jej upravím tak, aby vyhovoval mému scénáři.

Get-ChildItem 'C:UsersfatiwDesktopnotepad-files*.txt' -Recurse | ForEach {
(Get-Content $_ | ForEach { $_ -replace 'Post', 'Article' }) |
Set-Content $_
}

Jakmile skript upravíte, uložte jej s příponou ps1. Ujistěte se, že jste v dialogovém okně Uložit jako v programu Poznámkový blok změnili typ souboru z textových souborů na všechny soubory. Spusťte skript a ten provede funkci nahrazení.

Pokud chcete použít stejný skript pro soubory XML nebo LOG, upravte příponu souboru v prvním řádku. Například,

To se stane

Get-ChildItem 'C:UsersfatiwDesktopnotepad-files*.txt'

Tento;

Get-ChildItem 'C:UsersfatiwDesktopnotepad-files*.xml'

Je jedna věc, kterou byste o tomto skriptu měli vědět; nesrovnává slova se slovy. Pokud chcete nahradit každý výskyt ‚the‘ ‚a‘, nahradí to také ‚the‘ na začátku ‚tyto‘ a ‚tam‘. To je nedostatek tohoto skriptu. Chcete-li to obejít, můžete použít Notepad++, který má možnost shody slova.