- - Hur man byter ut ett ord i flera textfiler i Windows 10

Hur du byter ut ett ord i flera textfiler i Windows 10

Textredigerare som Notepad och Notepad ++ äranvänds för att skapa många olika typer av filer som undertexter, loggfiler, batchfiler, PowerShell-skript och mer. Där en textfilredigerare kan skapa dessa filer kan den också redigera dem. Om du har många textfiler, de som har TXT-filändelsen och du behöver ersätta ett ord, eller flera ord i dem, kan du göra det med ett PowerShell-skript. Skriptet gör det så att du inte behöver öppna varje fil individuellt och sedan ersätta ordet. Du kan använda samma skript för andra filtyper som kan skapas med en textfilredigerare. Så här kan du ersätta ett ord i flera textfiler.

Byt ut ord i textfiler

Först måste du lägga alla dina textfiler i samma mapp. Skriptet kommer bara att undersöka en katalog när den körs och inte hela systemet, varför du behöver alla filerna på ett ställe.

Öppna en ny anteckningsfil och klistra in följande i den.

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

Du måste redigera skriptet ovan. Redigera först delen "Sökväg till filer" med den aktuella sökvägen till mappen med alla textfiler i den. För det andra, ersätt "Original-Word" med det ord du vill ersätta. Slutligen byter du ut det "nya ordet" med det ord du vill ersätta det gamla med. Till exempel har jag några textfiler som alla har ordet 'Post' i dem. Jag vill ersätta ordet Post med artikel. Så här kommer skriptet att se ut när jag har redigerat det så att det passar mitt scenario.

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

När du har redigerat skriptet kan du spara det medps1 filändelsen. Se till att du ändrar filtypen från textfiler till alla filer i Notepads spara som dialog. Kör skriptet så kommer det att utföra ersättningsfunktionen.

Om du vill använda samma skript för XML- eller LOG-filer kan du redigera filändelsen på den första raden. Till exempel,

Detta kommer att bli

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

Detta;

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

Det är en sak du borde veta om dettamanus; det matchar inte ord till ord. Om du vill ersätta varje förekomst av 'the' med 'a', kommer den också att ersätta 'the' i början av 'dessa' och 'där'. Det är en brist på detta manus. För att komma runt det kan du använda Notepad ++ som har ett matchningsalternativ.

kommentarer