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

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ãousado para criar vários 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 com a extensão TXT e precisar substituir uma palavra ou várias palavras, poderá fazê-lo com um script do PowerShell. O script faz com que você não precise abrir cada arquivo individualmente e 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.

Substituir 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 único local.

Abra um novo arquivo do bloco de notas e cole o seguinte.

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 "Caminho para os arquivos" com o caminho real para a pasta com todos os arquivos de texto. Segundo, substitua a "Palavra original" pela palavra que você deseja substituir. Por fim, substitua "Nova palavra" pela palavra com a qual deseja substituir a antiga. Por exemplo, eu tenho alguns arquivos de texto que contêm a palavra 'Post'. Quero substituir a palavra Post pelo artigo. É assim que o script será quando 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 oextensão de arquivo ps1. Altere 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.

Se você deseja 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"

Este;

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

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

Comentários