Come sostituire una parola in più file di testo su Windows 10

Gli editor di file di testo come Blocco note e Notepad ++ vengono utilizzati per creare molti tipi diversi di file come sottotitoli, file di registro, file batch, script PowerShell e altro. Se un editor di file di testo può creare questi file, può anche modificarli. Se hai molti file di testo, quelli che hanno l’estensione del file TXT e devi sostituire una parola o più parole in essi, puoi farlo con uno script PowerShell. Lo script fa in modo che tu non debba aprire singolarmente ogni file e quindi sostituire la parola. È possibile utilizzare lo stesso script per altri tipi di file che possono essere creati con un editor di file di testo. Ecco come sostituire una parola in più file di testo.

Sostituisci Word in file di testo

Innanzitutto, devi mettere tutti i tuoi file di testo nella stessa cartella. Lo script esaminerà solo una directory quando viene eseguito e non l’intero sistema, motivo per cui hai bisogno di tutti i file in un unico posto.

Apri un nuovo file di Blocco note e incolla quanto segue.

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

È necessario modificare lo script sopra. Innanzitutto, modifica la parte “Percorso dei file” con il percorso effettivo della cartella con tutti i file di testo al suo interno. In secondo luogo, sostituisci la “Parola originale” con la parola che desideri sostituire. Infine, sostituisci “Nuova parola” con la parola con cui desideri sostituire quella vecchia. Ad esempio, ho alcuni file di testo che contengono tutti la parola “Post”. Voglio sostituire la parola Posta con Articolo. Questo è l’aspetto che avrà lo script una volta modificato per adattarlo al mio scenario.

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

Dopo aver modificato lo script, salvalo con l’estensione del file ps1. Assicurati di cambiare il tipo di file da file di testo a tutti i file nella finestra di dialogo Salva con nome del Blocco note. Esegui lo script e eseguirà la funzione di sostituzione.

Se si desidera utilizzare lo stesso script per i file XML o LOG, modificare l’estensione del file nella prima riga. Per esempio,

Questo diventerà

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

Questo;

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

C’è una cosa che dovresti sapere su questo script; non abbina le parole alle parole. Se stai cercando di sostituire ogni occorrenza di “il” con “a”, sostituirà anche la “la” all’inizio di “questi” e “lì”. Questa è una lacuna di questo script. Per aggirare il problema, puoi utilizzare Notepad ++ che ha un’opzione di corrispondenza delle parole.