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]
   [-NoNewline]
   [-Encoding <Encoding>]
   [-AsByteStream]
   [-Stream <string>]
   [<CommonParameters>]
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 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 parâmetro Path especifica todos os .txt arquivos no diretório atual, mas 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

Tuesday, May 14, 2019 8:24:27 AM
Tuesday, May 14, 2019 8:24:27 AM
5/14/2019 8:24:27 AM

O Add-Content cmdlet cria dois novos arquivos no diretório atual. O parâmetro Value contém a saída do Get-Date cmdlet . O parâmetro PassThru gera o conteúdo adicionado ao pipeline. Como não há nenhum outro cmdlet para receber a saída, 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 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 atualiza o CopyToFile.txt arquivo usando o conteúdo da $From variável.
  • O Get-Content cmdlet 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 Add-Content cmdlet .

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

O Get-Content cmdlet obtém o conteúdo de CopyFromFile.txt. Os resultados são canalizados para o Add-Content cmdlet , que atualiza o CopyToFile.txt. O último 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 Get-Content cmdlet obtém o conteúdo de um arquivo CopyFromFile.txt existente e o passa para o parâmetro Value . 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 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 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 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 .

Exemplo 7: usar filtros com Add-Content

Você pode especificar um filtro para o Add-Content cmdlet . 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" o conteúdo de todos os *.txt arquivos no C:\Temp diretório .

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.

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

-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

Observação

Não há suporte para esse parâmetro em nenhum provedor instalado com o PowerShell. Para representar outro usuário ou elevar suas credenciais ao executar esse cmdlet, use Invoke-Command.

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 é utf8NoBOM.

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.

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).
  • bigendianunicode: codifica no formato UTF-16 usando a ordem de bytes big-endian.
  • bigendianutf32: codifica no formato UTF-32 usando a ordem de bytes big-endian.
  • oem: usa a codificação padrão para MS-DOS e programas de console.
  • unicode: codifica no formato UTF-16 usando a ordem de bytes little-endian.
  • utf7: codifica no formato UTF-7.
  • utf8: codifica no formato UTF-8.
  • utf8BOM: codifica no formato UTF-8 com BOM (Marca de Ordem de Byte)
  • utf8NoBOM: codifica no formato UTF-8 sem BOM (Marca de Ordem de Byte)
  • utf32: codifica no formato UTF-32.

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

Observação

UTF-7* não é mais recomendável usar. A partir do PowerShell 7.1, um aviso será gravado se você especificar utf7 para o parâmetro Decodificação .

Type:Encoding
Accepted values:ASCII, BigEndianUnicode, BigEndianUTF32, OEM, Unicode, UTF7, UTF8, UTF8BOM, UTF8NoBOM, UTF32
Position:Named
Default value:UTF8NoBOM
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Exclude

Especifica, como uma matriz de cadeia de caracteres, um item ou itens que esse cmdlet exclui na operação. 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. O parâmetro Exclude 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 C:\Windows diretório.

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

-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 filtro FileSystem em 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 com que o PowerShell filtre os objetos depois que eles são 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, Force substitui o atributo somente leitura, mas não altera as permissões de arquivo.

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

-Include

Especifica, como uma matriz de cadeia de caracteres, um item ou itens que esse cmdlet inclui na operação. 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. 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 C:\Windows diretório.

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

-LiteralPath

Especifica um caminho para um ou mais locais. O valor de LiteralPath é usado exatamente como ele é 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.

Para obter mais informações, consulte about_Quoting_Rules.

Type:String[]
Aliases:PSPath, LP
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. 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 separá-los.

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

-Stream

Observação

Este 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 somente em unidades de sistema de arquivos.

Você pode usar o Add-Content cmdlet 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 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

-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.