sábado, 1 de fevereiro de 2020

POWERSHELL

SEÇÃO: COMPUTAÇÃO


Às vezes precisamos trocar todas as ocorrências de uma palavra ou frase dentro de um arquivo por outro de forma rápida e fácil, sem que precise abri-lo no editor de textos. Imagine quando é necessário fazer a mesma operação em vários arquivos?
Pesquisando na Internet encontrei um comando (utilizado em cmd do Windows) que faz isso utilizando alguns argumentos.
Segue os exemplos que usei.





Exemplo:
* Substituir a palavra Hoje por Amanhã no arquivo carta.txt e cria um arquivo carta.txt.new
powershell -Command "(gc carta.txt) -replace 'Hoje','Amanhã' | Out-File -encoding ASCII carta.txt.new"

* Substituir Hello World! por Olá Mundo! em programa.c e cria um arquivo programa.c.new
powershell -Command "(gc programa.c) -replace 'Hello World!','Olá Mundo!' | Out-File -encoding ASCII programa.c.new"

* Substituir "Dados\" por BaseDados + "\" 
powershell -Command "(gc programa.c) -replace '""Dados\\','BaseDados +"""\\"' | Out-File -encoding ASCII programa.c.new"
 
 *Substituir "TEMP\" por "TEMP"+Num+ "\"
powershell -Command "(gc programa.c) -replace '\""temp\\','\""TEMP""+ Num + """\\"' | Out-File -encoding ASCII programa.c.new"