É fácil anexar texto a um ficheiro com Windows Powershell com o Add-Content cmdlet, aqui estão alguns exemplos:
- Criar um ficheiro de texto de amostra usando o bloco de notas. Criei o meu assim:
- Abrir uma Janela de Powershell e digite:
Add-Content C:\temp\test.txt "Test"
Se voltar a abrir o ficheiro de texto, verá que o texto foi anexado ao fim da linha existente:
O exemplo acima está bem, mas como pode ver, os dados não foram escritos numa nova linha.
Exemplo PowerShell para anexar texto a um ficheiro a uma nova linha
Para anexar conteúdo a uma nova linha precisa de usar o carácter de fuga seguido da letra “n”:
Assim, para continuar o exemplo acima poderia usar:
Add-Content C:\temp\test.txt "`nThis is a new line"
E então o ficheiro de texto resultante ficaria assim:
Aplicar dados formatados com Powershell usando separadores e novas linhas
Este exemplo cria um ficheiro formatado com separadores, a saída parece-se com isto:
O Powershell para criar o exemplo acima é:
Add-Content C:\temp\test.txt "`nItem`tQty`tValue`tTotal"Add-Content C:\temp\test.txt "`nPants`t4`t32.22`t128.88"Add-Content C:\temp\test.txt "`nSocks`t3`t5.07`t15.21"Add-Content C:\temp\test.txt "`nShoes`t12`t136.57`t1638.84"
Como pode ver, os separadores são adicionados com o carácter especial “t”.
Aplicando a um ficheiro utilizando redireccionamento
O processo descrito acima parece ser a forma “normal” de anexar a um ficheiro em PowerShell. Mas se veio de um fundo Unix ou Linux que provavelmente parecerá um trabalho árduo em comparação com o simples uso do redireccionamento de comandos, que também funciona perfeitamente bem no PowerShell. Por exemplo:
"This is a test" >> Testfile.txt
Não sei porque é que este método não é mais utilizado no PowerShell porque é muito mais sucinto do que “Add-Content”. Talvez seja porque não tem o mesmo nível de funcionalidade, na maioria dos casos é bom.