Како заменити реч у више текстуалних датотека у оперативном систему Виндовс 10

Programi za uređivanje tekstualnih fajlova, poput Notepada i Notepad++, omogućavaju kreiranje raznovrsnih datoteka, uključujući titlove, log fajlove, batch skripte i PowerShell skripte, kao i mnoge druge. Osim što mogu kreirati ove fajlove, ovi programi ih mogu i uređivati. Ukoliko imate veliki broj tekstualnih datoteka sa ekstenzijom TXT i želite da zamenite određenu reč ili frazu u njima, to možete efikasno obaviti pomoću PowerShell skripte. Skripta automatizuje proces, eliminišući potrebu za pojedinačnim otvaranjem i menjanjem svake datoteke. Istu skriptu možete koristiti i za druge tipove datoteka kreirane u tekst editorima. U nastavku, objasnićemo kako zameniti reč u više tekstualnih fajlova odjednom.

Zamena reči u tekstualnim fajlovima

Prvi korak je da sve vaše tekstualne fajlove smestite u isti folder. Skripta će pretraživati samo jedan direktorijum, a ne ceo sistem, stoga je neophodno da se svi fajlovi nalaze na jednom mestu.

Otvorite novi Notepad dokument i u njega kopirajte sledeći kod:

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

Ovu skriptu je potrebno prilagoditi vašim potrebama. Prvo, zamenite „Path-to-files“ sa stvarnom putanjom do foldera u kojem se nalaze vaše tekstualne datoteke. Zatim, zamenite ‘Original-Word’ sa rečju koju želite da pronađete i zamenite. Na kraju, ‘New-Word’ zamenite sa rečju koja treba da zameni staru reč. Na primer, ako imam nekoliko tekstualnih fajlova koji sadrže reč ‘Primer’, a želim da je zamenim sa ‘Uzorak’, skripta će izgledati ovako:

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

Kada ste uredili skriptu, sačuvajte je sa ekstenzijom .ps1. U dijalogu za čuvanje fajla, obavezno promenite tip fajla sa „Text Documents“ na „All Files“. Nakon toga, pokrenite skriptu, i ona će izvršiti zamenu reči.

Ako želite da koristite ovu skriptu za XML ili LOG fajlove, izmenite ekstenziju datoteke u prvom redu skripte. Na primer:

Ovaj kod:

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

Treba da postane:

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

Važno je napomenuti da ova skripta ne prepoznaje reči u kontekstu. Ako pokušate da zamenite svako pojavljivanje reči ‘i’ sa ‘ili’, to će takođe zameniti slovo ‘i’ u rečima poput ‘ili’ ili ‘isto’. Ovo je ograničenje ove skripte. Da biste ovo izbegli, možete koristiti Notepad++, koji poseduje opciju za pronalaženje i zamenu celih reči.