Compartilhar via


Add-Content

Adiciona conteúdo aos itens especificados, como a adição de palavras a um arquivo.

Syntax

Add-Content
   [-Path] <string[]>
   [-Value] <Object[]>
   [-PassThru]
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Force]
   [-Credential <pscredential>]
   [-WhatIf]
   [-Confirm]
   [-UseTransaction]
   [-NoNewline]
   [-Encoding <FileSystemCmdletProviderEncoding>]
   [-Stream <string>]
   [<CommonParameters>]
Add-Content
   [-Value] <Object[]>
   -LiteralPath <string[]>
   [-PassThru]
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Force]
   [-Credential <pscredential>]
   [-WhatIf]
   [-Confirm]
   [-UseTransaction]
   [-NoNewline]
   [-Encoding <FileSystemCmdletProviderEncoding>]
   [-Stream <string>]
   [<CommonParameters>]

Description

O Add-Content cmdlet acrescenta conteúdo a um item ou arquivo especificado. Você pode especificar o conteúdo, digitando-o no comando ou especificando um objeto que contém o conteúdo.

Se você precisar criar arquivos ou diretórios para os exemplos a seguir, consulte New-Item.

Exemplos

Exemplo 1: adicionar uma cadeia de caracteres a todos os arquivos de texto com uma exceção

Este exemplo acrescenta um valor a arquivos de texto no diretório atual, mas exclui arquivos com base em seu nome de arquivo.

Add-Content -Path .\*.txt -Exclude help* -Value 'End of file'

O Add-Content cmdlet usa o parâmetro Path para especificar todos os arquivos .txt no diretório atual. O parâmetro Exclude ignora nomes de arquivo que correspondem ao padrão especificado. O parâmetro Value especifica a cadeia de caracteres de texto que é gravada nos arquivos.

Use Get-Content para exibir o conteúdo desses arquivos.

Exemplo 2: adicionar uma data ao final dos arquivos especificados

Este exemplo acrescenta a data aos arquivos no diretório atual e exibe a data no console do PowerShell.

Add-Content -Path .\DateTimeFile1.log, .\DateTimeFile2.log -Value (Get-Date) -PassThru
Get-Content -Path .\DateTimeFile1.log

O Add-Content cmdlet usa os parâmetros Path e Value para criar dois novos arquivos no diretório atual. O parâmetro Value especifica o Get-Date cmdlet para obter a data e passa a data para Add-Content. O Add-Content cmdlet grava a data em cada arquivo. O parâmetro PassThru passa um objeto que representa o objeto date. Como não há nenhum outro cmdlet para receber o objeto passado, ele é exibido no console do PowerShell. O Get-Content cmdlet exibe o arquivo atualizado, DateTimeFile1.log.

Exemplo 3: adicionar o conteúdo de um arquivo especificado a outro arquivo

Este exemplo obtém o conteúdo de um arquivo e acrescenta esse conteúdo a outro arquivo.

Add-Content -Path .\CopyToFile.txt -Value (Get-Content -Path .\CopyFromFile.txt)
Get-Content -Path .\CopyToFile.txt

O Add-Content cmdlet usa o parâmetro Path para especificar o novo arquivo no diretório atual, CopyToFile.txt. O parâmetro Value usa o Get-Content cmdlet para obter o conteúdo do arquivo CopyFromFile.txt. Os parênteses ao redor do Get-Content cmdlet garantem que o comando seja concluído antes do início do Add-Content comando. O parâmetro Value é passado para Add-Content. O Add-Content cmdlet acrescenta os dados ao arquivo CopyToFile.txt. O Get-Content cmdlet exibe o arquivo atualizado, CopyToFile.txt.

Exemplo 4: Usar uma variável para adicionar o conteúdo de um arquivo especificado a outro arquivo

Este exemplo obtém o conteúdo de um arquivo e armazena o conteúdo em uma variável. A variável é usada para acrescentar o conteúdo em outro arquivo.

$From = Get-Content -Path .\CopyFromFile.txt
Add-Content -Path .\CopyToFile.txt -Value $From
Get-Content -Path .\CopyToFile.txt

O Get-Content cmdlet obtém o conteúdo de CopyFromFile.txt e armazena o conteúdo na $From variável . O Add-Content cmdlet usa o parâmetro Path para especificar o arquivo CopyToFile.txt no diretório atual. O parâmetro Value usa a $From variável e passa o conteúdo para Add-Content. O Add-Content cmdlet atualiza o arquivo CopyToFile.txt. O Get-Content cmdlet exibe CopyToFile.txt.

Exemplo 5: Create um novo arquivo e copiar conteúdo

Este exemplo cria um novo arquivo e copia o conteúdo de um arquivo existente para o novo arquivo.

Add-Content -Path .\NewFile.txt -Value (Get-Content -Path .\CopyFromFile.txt)
Get-Content -Path .\NewFile.txt

O Add-Content cmdlet usa os parâmetros Path e Value para criar um novo arquivo no diretório atual. O parâmetro Value usa o Get-Content cmdlet para obter o conteúdo de um arquivo existente, CopyFromFile.txt. Os parênteses ao redor do Get-Content cmdlet garantem que o comando seja concluído antes do início do Add-Content comando. O parâmetro Value passa o conteúdo para Add-Content o qual atualiza o arquivo NewFile.txt. O Get-Content cmdlet exibe o conteúdo do novo arquivo, NewFile.txt.

Exemplo 6: Adicionar conteúdo a um arquivo somente leitura

Esse comando adiciona o valor ao arquivo mesmo que o atributo de arquivo IsReadOnly esteja definido como True. As etapas para criar um arquivo somente leitura são incluídas no exemplo.

New-Item -Path .\IsReadOnlyTextFile.txt -ItemType File
Set-ItemProperty -Path .\IsReadOnlyTextFile.txt -Name IsReadOnly -Value $True
Get-ChildItem -Path .\IsReadOnlyTextFile.txt
Add-Content -Path .\IsReadOnlyTextFile.txt -Value 'Add value to read-only text file' -Force
Get-Content -Path .\IsReadOnlyTextFile.txt

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-ar---        1/28/2019     13:35              0 IsReadOnlyTextFile.txt

O New-Item cmdlet usa os parâmetros Path e ItemType para criar o arquivo IsReadOnlyTextFile.txt no diretório atual. O Set-ItemProperty cmdlet usa os parâmetros Name e Value para alterar a propriedade IsReadOnly do arquivo para True. O Get-ChildItem cmdlet mostra que o arquivo está vazio (0) e tem o atributo somente leitura (r). O Add-Content cmdlet usa o parâmetro Path para especificar o arquivo. O parâmetro Value inclui a cadeia de caracteres de texto a ser acrescentada ao arquivo. O parâmetro Force grava o texto no arquivo somente leitura. O Get-Content cmdlet usa o parâmetro Path para exibir o conteúdo do arquivo.

Para remover o atributo somente leitura, use o Set-ItemProperty comando com o parâmetro Value definido Falsecomo .

Parâmetros

-Confirm

Solicita sua confirmação antes de executar o cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

Especifica uma conta de usuário que tem permissão para executar esta ação. O padrão é o usuário atual.

Digite um nome de usuário, como User01 ou Domain01\User01, ou insira um objeto PSCredential , como um gerado pelo Get-Credential cmdlet . Se você digitar um nome de usuário, uma senha será solicitada.

Aviso

Não há suporte para esse parâmetro em nenhum provedor instalado com o PowerShell.

Type:PSCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Encoding

Especifica o tipo de codificação para o arquivo de destino. O valor padrão é Default.

Os valores aceitáveis para esse parâmetro são os seguintes:

  • ASCII Usa conjunto de caracteres ASCII (7 bits).
  • Bigendianunicode Usa UTF-16 com a ordem de bytes big-endian.
  • BigEndianUTF32 Usa UTF-32 com a ordem de bytes big-endian.
  • Byte Codifica um conjunto de caracteres em uma sequência de bytes.
  • Padrão Usa a codificação que corresponde à página de código ativa do sistema (geralmente ANSI).
  • OEM Usa a codificação que corresponde à página de código OEM atual do sistema.
  • String O mesmo que Unicode.
  • Unicode Usa UTF-16 com a ordem de bytes little-endian.
  • Desconhecido O mesmo que Unicode.
  • UTF7 Usa UTF-7.
  • UTF8 Usa UTF-8.
  • UTF32 Usa UTF-32 com a ordem de bytes little-endian.

A codificação é um parâmetro dinâmico que o provedor FileSystem adiciona ao Add-Content cmdlet . Esse parâmetro funciona somente em unidades de sistema de arquivos.

Type:FileSystemCmdletProviderEncoding
Accepted values:ASCII, BigEndianUnicode, BigEndianUTF32, Byte, Default, OEM, String, Unicode, Unknown, UTF7, UTF8, UTF32
Position:Named
Default value:Default
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Exclude

Omite os itens especificados. O valor deste parâmetro qualifica o parâmetro Path. Insira um elemento ou padrão de caminho, como *.txt. Caracteres curinga são permitidos.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Filter

Especifica um filtro no formato ou linguagem do provedor. O valor deste parâmetro qualifica o parâmetro Path. A sintaxe do filtro, incluindo o uso de caracteres curingas, depende do provedor. Os filtros são mais eficientes do que outros parâmetros porque o provedor aplica filtros quando os objetos são recuperados. Caso contrário, o PowerShell processará filtros depois que os objetos forem recuperados.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Force

Substitui o atributo somente leitura, permitindo adicionar conteúdo a um arquivo somente leitura. Por exemplo, o Force substituirá o atributo somente leitura ou criar diretórios para concluir um caminho de arquivo, mas não tentará alterar permissões de arquivo.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Include

Adiciona apenas os itens especificados. O valor deste parâmetro qualifica o parâmetro Path. Insira um elemento ou padrão de caminho, como *.txt. Caracteres curinga são permitidos.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-LiteralPath

Especifica o caminho para os itens que recebem conteúdo adicional. Ao contrário de Path, o valor de LiteralPath é usado exatamente como digitado. Nenhum caractere é interpretado como caractere curinga. Se o caminho incluir caracteres de escape, coloque-o entre aspas simples. Aspas simples dizem ao PowerShell para não interpretar nenhum caractere como sequências de escape.

Type:String[]
Aliases:PSPath
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-NoNewline

Indica que esse cmdlet não adiciona uma nova linha ou retorno de carro ao conteúdo.

As representações de cadeia de caracteres dos objetos de entrada são concatenadas para formar a saída. Não são inseridos espaços ou novas linhas entre as cadeias de caracteres de saída. Nenhuma nova linha é adicionada após a última cadeia de caracteres de saída.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PassThru

Retorna um objeto que representa o conteúdo adicionado. Por padrão, este cmdlet não gera saída.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Path

Especifica o caminho para os itens que recebem conteúdo adicional. Caracteres curinga são permitidos. Se você especificar vários caminhos, use vírgulas para separá-los.

Type:String[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:True

-Stream

Especifica um fluxo de dados alternativo para conteúdo. Se o fluxo não existir, esse cmdlet o criará. Não há suporte para caracteres curinga.

Stream é um parâmetro dinâmico que o provedor FileSystem adiciona a Add-Content. Esse parâmetro funciona somente em unidades de sistema de arquivos.

Você pode usar o Add-Content cmdlet para alterar o conteúdo do fluxo de dados alternativo Zone.Identifier . No entanto, não recomendamos isso como uma forma de eliminar verificações de segurança que bloqueiam arquivos baixados da Internet. Se você verificar se um arquivo baixado é seguro, use o Unblock-File cmdlet .

Esse parâmetro foi introduzido no PowerShell 3.0.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UseTransaction

Inclui o comando na transação ativa. Este parâmetro é válido somente quando uma transação está em andamento. Para obter mais informações, consulte about_Transactions.

Type:SwitchParameter
Aliases:usetx
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Value

Especifica o conteúdo a ser adicionado. Digite uma cadeia de caracteres entre aspas, como Esses dados são apenas para uso interno ou especifique um objeto que contenha conteúdo, como o objeto DateTime que Get-Date gera.

Não é possível especificar o conteúdo de um arquivo digitando seu caminho, pois o caminho é apenas uma cadeia de caracteres. Você pode usar um Get-Content comando para obter o conteúdo e passá-lo para o parâmetro Value .

Type:Object[]
Position:1
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Entradas

System.Object, System.Management.Automation.PSCredential

Você pode redirecionar valores, caminhos ou credenciais para Set-Content.

Saídas

None or System.String

Quando você usa o parâmetro PassThru , Add-Content gera um objeto System.String que representa o conteúdo. Caso contrário, este cmdlet não gera nenhuma saída.

Observações

Quando você redireciona um objeto para Add-Content, o objeto é convertido em uma cadeia de caracteres antes de ser adicionado ao item. O tipo de objeto determina o formato de cadeia de caracteres, mas o formato pode ser diferente da exibição padrão do objeto. Para controlar o formato da cadeia de caracteres, use os parâmetros de formatação do cmdlet de envio.

Você também pode consultar por seu alias Add-Content interno, ac. Para obter mais informações, consulte about_Aliases.

O Add-Content cmdlet foi projetado para funcionar com os dados expostos por qualquer provedor. Para listar os provedores disponíveis em sua sessão, digite Get-PSProvider. Para obter mais informações, consulte about_Providers.