Editory textových souborů jako Notepad a Notepad ++ jsouPoužívá se k vytváření mnoha různých typů souborů, jako jsou titulky, soubory protokolu, dávkové soubory, skripty PowerShell a další. Tam, kde editor textových souborů může tyto soubory vytvořit, může je také upravovat. Pokud máte mnoho textových souborů, těch, které mají příponu TXT a potřebujete nahradit slovo nebo několik slov, můžete tak učinit skriptem PowerShell. Skript umožňuje, abyste nemuseli jednotlivě otevírat jednotlivé soubory a poté slovo nahrazovat. Stejný skript můžete použít pro jiné typy souborů, které lze vytvořit pomocí editoru textových souborů. Takto můžete nahradit slovo ve více textových souborech.
Nahradit slovo v textových souborech
Nejprve musíte umístit všechny textové soubory do stejné složky. Skript prozkoumá při spuštění 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 $_ }
Je třeba 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 slovo „Original-Word“ slovem, které chcete nahradit. Nakonec nahraďte slovo „Nové slovo“ slovem, které chcete nahradit starým. Mám například několik textových souborů, z nichž všechny obsahují slovo „Post“. Chci nahradit slovo Post článkem. Takto bude skript vypadat, jakmile jej upravím, aby vyhovoval mému scénáři.
Get-ChildItem "C:UsersfatiwDesktopnotepad-files*.txt" -Recurse | ForEach { (Get-Content $_ | ForEach { $_ -replace "Post", "Article" }) | Set-Content $_ }
Jakmile upravíte skript, uložte jej pomocípřípona souboru ps1. Ujistěte se, že jste v dialogovém okně Uložit jako změnili typ souboru z textových souborů na všechny soubory. Spusťte skript a 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"
O tom byste měli vědět jednu věcskript; neodpovídá slovům slova. Pokud chcete nahradit každý výskyt výrazu „a“, nahradí to také „na začátku“ a „tam“. To je nedostatek tohoto skriptu. Chcete-li to obejít, můžete použít Poznámkový blok ++, který má možnost odpovídající slovo.
Komentáře