Compartilhar via


Add-Content

Adiciona conteúdo aos itens especificados, como adicionar palavras a um arquivo.

Sintaxe

Path (Padrão)

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

LiteralPath

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

Description

O cmdlet Add-Content acrescenta conteúdo a um item ou arquivo especificado. O conteúdo pode ser passado do pipeline ou especificado usando o parâmetro Value.

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 aos arquivos de texto no diretório atual, mas exclui arquivos com base no nome do arquivo.

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

O parâmetro Path especifica todos os arquivos .txt no diretório atual, mas o parâmetro Excluir ignora os nomes de arquivo que correspondem ao padrão especificado. O parâmetro Value especifica a cadeia de caracteres de texto gravada nos arquivos.

Use o comando 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
Tuesday, May 14, 2019 8:24:27 AM
Tuesday, May 14, 2019 8:24:27 AM
5/14/2019 8:24:27 AM

O cmdlet Add-Content cria dois novos arquivos no diretório atual. O parâmetro Value contém a saída do cmdlet Get-Date. O parâmetro PassThru libera os conteúdos adicionados para o pipeline. Como não há nenhum outro cmdlet para receber a saída, ele é exibido no console do PowerShell. O cmdlet Get-Content 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 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 cmdlet Get-Content obtém o conteúdo de CopyFromFile.txt e armazena o conteúdo na variável $From.
  • O cmdlet Add-Content atualiza o arquivo CopyToFile.txt usando o conteúdo da variável $From.
  • O cmdlet Get-Content exibe CopyToFile.txt.

Exemplo 4: Adicionar o conteúdo de um arquivo especificado a outro arquivo usando o pipeline

Este exemplo obtém o conteúdo de um arquivo e o redireciona para o cmdlet Add-Content.

Get-Content -Path .\CopyFromFile.txt | Add-Content -Path .\CopyToFile.txt
Get-Content -Path .\CopyToFile.txt

O cmdlet Get-Content obtém o conteúdo de CopyFromFile.txt. Os resultados são canalizados para o cmdlet Add-Content, que atualiza o CopyToFile.txt. O último cmdlet Get-Content exibe CopyToFile.txt.

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

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

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

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

Esse comando adiciona um 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 cmdlet New-Item usa os parâmetros Caminho e ItemType para criar o arquivo IsReadOnlyTextFile.txt no diretório atual.
  • O cmdlet Set-ItemProperty usa os parâmetros Nome do e Valor do para alterar a propriedade IsReadOnly do arquivo para True.
  • O cmdlet Get-ChildItem mostra que o arquivo está vazio (0) e tem o atributo somente leitura (r).
  • O cmdlet Add-Content 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 em um arquivo somente leitura.
  • O cmdlet Get-Content usa o parâmetro Path para exibir o conteúdo do arquivo.

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

Exemplo 7: usar filtros com Add-Content

Você pode especificar um filtro para o cmdlet Add-Content. Ao usar filtros para qualificar o parâmetro Path, você precisa incluir um asterisco à direita (*) para indicar o conteúdo do caminho.

O comando a seguir adiciona a palavra "Concluído" ao conteúdo de todos os arquivos *.txt no diretório C:\Temp.

Add-Content -Path C:\Temp\* -Filter *.txt -Value "Done"

Parâmetros

-AsByteStream

Especifica que o conteúdo deve ser lido como um fluxo de bytes. Esse parâmetro foi introduzido no PowerShell 6.0.

Um aviso ocorre quando você usa o parâmetro AsByteStream com o parâmetro Encoding. O parâmetro AsByteStream ignora qualquer codificação e a saída é retornada como um fluxo de bytes.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Confirm

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

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:False
Dá suporte a curingas:False
DontShow:False
Aliases:cf

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Credential

Observação

Esse parâmetro não é compatível com nenhum provedor instalado com o PowerShell. Para executar este cmdlet em nome de outro usuário ou elevar suas credenciais, use Invoke-Command.

Propriedades do parâmetro

Tipo:PSCredential
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:True
Valor dos argumentos restantes:False

-Encoding

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

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

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

  • ascii: usa a codificação para o conjunto de caracteres ASCII (7 bits).
  • ansi: usa a codificação para a página de código ANSI da cultura vigente. Essa opção foi adicionada ao PowerShell 7.4.
  • bigendianunicode: codifica em formato UTF-16 usando a ordem de byte big-endian.
  • bigendianutf32: codifica em formato UTF-32 usando a ordem de byte big-endian.
  • oem: usa a codificação padrão para MS-DOS e programas de console.
  • unicode: codifica em formato UTF-16 usando a ordem de byte little-endian.
  • utf7: codifica em formato UTF-7.
  • utf8: codifica em formato UTF-8.
  • utf8BOM: codifica em formato UTF-8 com BOM (marca de ordem de byte)
  • utf8NoBOM: codifica no formato UTF-8 sem BOM (Byte Order Mark)
  • utf32: codifica em formato UTF-32.

A partir do PowerShell 6.2, o parâmetro de codificação de também permite IDs numéricas de páginas de código registradas (como ) ou nomes de cadeia de caracteres de páginas de código registradas (como ). Para obter mais informações, consulte a documentação do .NET para Encoding.CodePage.

A partir do PowerShell 7.4, você pode usar o valor Ansi para o parâmetro de Codificação para passar a ID numérica da página de código ANSI da cultura atual sem precisar especificá-la manualmente.

Observação

UTF-7* não é mais recomendável para uso. A partir do PowerShell 7.1, é gerado um aviso se você especifica utf7 para o parâmetro Encoding.

Propriedades do parâmetro

Tipo:Encoding
Valor padrão:UTF8NoBOM
Valores aceitos:ASCII, BigEndianUnicode, BigEndianUTF32, OEM, Unicode, UTF7, UTF8, UTF8BOM, UTF8NoBOM, UTF32
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Exclude

Especifica, como uma matriz de cadeia de caracteres, um item ou itens que esse cmdlet exclui na operação. O valor desse parâmetro qualifica o parâmetro Path. Insira um elemento ou padrão de caminho, como *.txt. Caracteres curinga são permitidos. O parâmetro Excluir só é eficaz quando o comando inclui o conteúdo de um item, como C:\Windows\*, em que o caractere curinga especifica o conteúdo do diretório C:\Windows.

Propriedades do parâmetro

Tipo:

String[]

Valor padrão:None
Dá suporte a curingas:True
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Filter

Especifica um filtro para qualificar o parâmetro Path. O provedor FileSystem é o único provedor do PowerShell instalado que dá suporte ao uso de filtros. Você pode encontrar a sintaxe da linguagem de filtragem FileSystem no about_Wildcards. Os filtros são mais eficientes do que outros parâmetros, pois o provedor os aplica quando o cmdlet obtém os objetos em vez de fazer o PowerShell filtrar os objetos depois que eles são recuperados.

Propriedades do parâmetro

Tipo:String
Valor padrão:None
Dá suporte a curingas:True
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Force

Substitui o atributo somente leitura, permitindo que você adicione conteúdo a um arquivo somente leitura. Por exemplo, Force substitui o atributo somente leitura, mas não altera as permissões de arquivo.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Include

Especifica, como uma matriz de cadeia de caracteres, um item ou itens que esse cmdlet inclui na operação. O valor desse parâmetro qualifica o parâmetro Path. Insira um elemento ou padrão de caminho, como "*.txt". Caracteres curinga são permitidos. O parâmetro Include só é eficaz quando o comando inclui o conteúdo de um item, como C:\Windows\*, em que o caractere curinga especifica o conteúdo do diretório C:\Windows.

Propriedades do parâmetro

Tipo:

String[]

Valor padrão:None
Dá suporte a curingas:True
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-LiteralPath

Especifica um caminho para um ou mais locais. 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 indicam ao PowerShell que não deve interpretar nenhum caractere como uma sequência de escape.

Para mais informações, consulte sobre_Regras_de_Citação.

Propriedades do parâmetro

Tipo:

String[]

Valor padrão:None
Dá suporte a curingas:False
DontShow:False
Aliases:PSPath, LP

Conjuntos de parâmetros

LiteralPath
Cargo:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:True
Valor dos argumentos restantes:False

-NoNewline

Indica que o cmdlet não adiciona uma nova linha ou um 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. Nenhum espaço ou nova linha é inserido entre as cadeias de caracteres de saída. Nenhuma nova linha é adicionada após a última cadeia de caracteres de saída.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-PassThru

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

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Path

Especifica o caminho para os itens que recebem o conteúdo adicional. Caracteres curinga são permitidos. Os caminhos devem ser caminhos para itens, não para contêineres. Por exemplo, você deve especificar um caminho para um ou mais arquivos, não um caminho para um diretório. Se você especificar vários caminhos, use vírgulas para separar os caminhos.

Propriedades do parâmetro

Tipo:

String[]

Valor padrão:None
Dá suporte a curingas:True
DontShow:False

Conjuntos de parâmetros

Path
Cargo:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:True
Valor dos argumentos restantes:False

-Stream

Observação

Esse parâmetro só está disponível no Windows.

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 apenas em unidades de arquivos do sistema.

Você pode usar o cmdlet Add-Content para alterar o conteúdo de qualquer fluxo de dados alternativo, como 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 cmdlet Unblock-File.

Esse parâmetro foi introduzido no PowerShell 3.0. A partir do PowerShell 7.2, Add-Content pode visar fluxos de dados alternativos em arquivos e diretórios.

Propriedades do parâmetro

Tipo:String
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Value

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

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

Propriedades do parâmetro

Tipo:

Object[]

Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:1
Obrigatório:True
Valor do pipeline:True
Valor do pipeline pelo nome da propriedade:True
Valor dos argumentos restantes:False

-WhatIf

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

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:False
Dá suporte a curingas:False
DontShow:False
Aliases:wi

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

CommonParameters

Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.

Entradas

Object

Você pode redirecionar valores para Add-Content.

PSCredential

Você pode redirecionar credenciais para Add-Content.

Saídas

None

Por padrão, esse cmdlet não retorna nenhuma saída.

String

Quando você usa o parâmetro PassThru, esse cmdlet retorna um objeto System.String que representa o conteúdo.

Observações

O PowerShell inclui os seguintes aliases para Add-Content:

  • Windows:

    • ac
  • 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 de cadeia de caracteres, use os parâmetros de formatação do cmdlet de envio.

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