Como substituir uma palavra em vários arquivos de texto no Windows 10

Editores de arquivos de texto, como o Notepad e o Notepad++, são usados ​​para criar muitos tipos diferentes de arquivos, como legendas, arquivos de log, arquivos em lote, scripts do PowerShell e muito mais. Onde um editor de arquivo de texto pode criar esses arquivos, ele também pode editá-los. Se você tiver muitos arquivos de texto, aqueles que possuem a extensão de arquivo TXT e precisar substituir uma palavra ou várias palavras neles, poderá fazê-lo com um script do PowerShell. O script faz com que você não precise abrir individualmente cada arquivo e depois substituir a palavra. Você pode usar esse mesmo script para outros tipos de arquivo que podem ser criados com um editor de arquivo de texto. Veja como você pode substituir uma palavra em vários arquivos de texto.

  Como corrigir o PowerShell quebrado no Windows 10 Creators Update

Substituir o Word em arquivos de texto

Primeiro, você precisa colocar todos os seus arquivos de texto na mesma pasta. O script examinará apenas um diretório quando for executado e não todo o sistema, e é por isso que você precisa de todos os arquivos em um só lugar.

Abra um novo arquivo do Bloco de Notas e cole o seguinte nele.

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

Você precisa editar o script acima. Primeiro, edite a parte ‘Path-to-files’ com o caminho real para a pasta com todos os arquivos de texto nela. Segundo, substitua a ‘Palavra Original’ pela palavra que você deseja substituir. Finalmente, substitua a ‘Nova-Palavra’ pela palavra pela qual você deseja substituir a antiga. Por exemplo, eu tenho alguns arquivos de texto que têm a palavra ‘Post’ neles. Quero substituir a palavra Post por Artigo. É assim que o script ficará assim que eu o editar para se adequar ao meu cenário.

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

Depois de editar o script, salve-o com a extensão de arquivo ps1. Certifique-se de alterar o tipo de arquivo de arquivos de texto para todos os arquivos na caixa de diálogo Salvar como do Bloco de Notas. Execute o script e ele executará a função de substituição.

  Como funcionarão as “atualizações estendidas de segurança” do Windows 7

Se você quiser usar esse mesmo script para arquivos XML ou LOG, edite a extensão do arquivo na primeira linha. Por exemplo,

Isso se tornará

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

Isto;

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

Há uma coisa que você deve saber sobre esse script; não combina palavras com palavras. Se você deseja substituir todas as ocorrências de ‘the’ por ‘a’, ele também substituirá ‘the’ no início de ‘these’ e ‘there’. Essa é uma falha deste script. Para contornar isso, você pode usar o Notepad ++, que possui uma opção de correspondência de palavras.