A szöveges fájlszerkesztők, például a Notepad és a Notepad ++sokféle típusú fájlt hoz létre, például feliratokat, naplófájlokat, kötegelt fájlokat, PowerShell szkripteket és így tovább. Ahol egy szövegfájl-szerkesztő létrehozhatja ezeket a fájlokat, ott is szerkesztheti. Ha nagyon sok szöveges fájl van, amelyek TXT fájlkiterjesztéssel rendelkeznek, és egy szót, vagy több szót ki kell cserélni, megteheti egy PowerShell szkripttel. A szkript úgy teszi, hogy nem kell külön-külön megnyitnia az egyes fájlokat, majd cserélnie a szót. Ugyanezt a szkriptet más fájltípusokhoz is felhasználhatja, amelyeket szöveges fájlszerkesztővel lehet létrehozni. Így válthatja ki a szót több szöveges fájlban.
Cserélje ki a szót a szöveges fájlokban
Először az összes szöveges fájlt ugyanabba a mappába kell helyeznie. A szkript csak egy könyvtárat fog megvizsgálni, amikor fut, és nem a teljes rendszert, ezért az összes fájlra van szüksége egy helyen.
Nyisson meg egy új Notepad fájlt, és illessze be a következőket.
Get-ChildItem "Path-to-files*.txt" -Recurse | ForEach { (Get-Content $_ | ForEach { $_ -replace "Original-Word", "New-Word" }) | Set-Content $_ }
Szerkesztnie kell a fenti szkriptet. Először szerkessze a „Fájlok elérése” részt, a mappához vezető tényleges útvonallal együtt, az összes szövegfájllal együtt. Másodszor, cserélje ki az 'Original-Word' kifejezést a cserélni kívánt szóra. Végül cserélje ki az 'Új szó' kifejezést azon a szóval, amellyel a régi szót helyettesíteni szeretné. Például van néhány szöveges fájl, amelyekben mind a „Feladás” szó szerepel. A Post szót cikkre akarom cserélni. Így fog kinézni a forgatókönyv, miután szerkesztettem azt a forgatókönyvemhez.
Get-ChildItem "C:UsersfatiwDesktopnotepad-files*.txt" -Recurse | ForEach { (Get-Content $_ | ForEach { $_ -replace "Post", "Article" }) | Set-Content $_ }
A szkript szerkesztése után mentse el aps1 fájlkiterjesztés. Feltétlenül változtassa meg a fájltípust szöveges fájlokból minden fájlra a Jegyzettömb mentése párbeszédpanelen. Futtassa a szkriptet, és ez végrehajtja a csere funkciót.

Ha ugyanazt a szkriptet kívánja használni XML vagy LOG fájlokhoz, akkor az első sorban módosítsa a fájlkiterjesztést. Például,
Ez lesz
Get-ChildItem "C:UsersfatiwDesktopnotepad-files*.txt"
Ez;
Get-ChildItem "C:UsersfatiwDesktopnotepad-files*.xml"
Van egy dolog, amit tudnod kell errőlforgatókönyv; nem illeszti a szavakat a szavakhoz. Ha azt szeretnénk, hogy a '' 'minden előfordulását "a" -val cseréljük, akkor az a "ezek" és "ott" elején lévő "a" -ot is felváltja. Ez a szkript hiányossága. Kerülni tudja azt a Notepad ++ alkalmazást, amelynek egyezési szóval rendelkezik.
Hozzászólások