Como anexar a um ficheiro com PowerShell

É fácil anexar texto a um ficheiro com Windows Powershell com o Add-Content cmdlet, aqui estão alguns exemplos:

  1. Criar um ficheiro de texto de amostra usando o bloco de notas. Criei o meu assim:
    Image mostrando ficheiro de texto que terá texto anexado usando o Powershell Add-Content cmdlet
  2. 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:
    Imagem mostrando como o ficheiro de texto após o texto foi anexado com Powershell Add-Content cmdlet

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:

Imagem de um ficheiro de texto que teve dados anexados numa nova linha usando o Windows Powershell Add-Content cmdlet

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:

Imagem mostrando como formatar um documento de texto utilizando separadores e nova linha com o Powershell Add-Content cmdlet

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.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *