Compartilhar via


Set-Content

Escreve ou substitui o conteúdo em um item.

Sintaxe

Set-Content [-LiteralPath] <string[]> [-Value] <Object[]> [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [-UseTransaction] [<CommonParameters>]

Set-Content [-Path] <string[]> [-Value] <Object[]> [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [-UseTransaction] [<CommonParameters>]

Descrição

Set-Content é um cmdlet de processamento de cadeia de caracteres ou substitui o conteúdo de um item especificado, como um arquivo. Enquanto o cmdlet Add-Content acrescenta conteúdo a um arquivo, Set-Content substitui o conteúdo existente. Você pode digitar o conteúdo no comando ou enviá-lo por meio do pipeline para Set-Content.

Parâmetros

-Credential <PSCredential>

Especifica uma conta de usuário com permissão para executar essa 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 aquele gerado pelo cmdlet Get-Credential. Uma senha será solicitada após a digitação do nome do usuário.

Este parâmetro não tem suporte em nenhum dos provedores instalados com o Windows PowerShell.

Necessário?

false

Posição?

named

Valor padrão

Aceitar entrada do pipeline?

true (ByPropertyName)

Aceitar caracteres curinga?

false

-Exclude <string[]>

Omite os itens especificados. O valor desse parâmetro qualifica o parâmetro Path. Digite um elemento ou padrão do caminho, como "*.txt". Os caracteres curinga são permitidos.

Necessário?

false

Posição?

named

Valor padrão

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

false

-Filter <string>

Especifica um filtro no formato ou no idioma do provedor. O valor desse parâmetro qualifica o parâmetro Path. A sintaxe do filtro, incluindo o uso dos caracteres curinga, depende do provedor. Os filtros são mais eficientes do que outros parâmetros porque o provedor os aplica durante a recuperação dos objetos, em vez de fazer com que o Windows PowerShell os filtre depois de recuperados.

Necessário?

false

Posição?

named

Valor padrão

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

false

-Force

Permite que o cmdlet defina o conteúdo de um arquivo, mesmo se ele for somente leitura. A implementação varia de provedor para provedor. Para obter mais informações, consulte about_Providers. Mesmo usando o parâmetro Force, o cmdlet não pode substituir as restrições de segurança.

Necessário?

false

Posição?

named

Valor padrão

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

false

-Include <string[]>

Altera somente os itens especificados. O valor desse parâmetro qualifica o parâmetro Path. Digite um elemento ou padrão do caminho, como "*.txt". Os caracteres curinga são permitidos.

Necessário?

false

Posição?

named

Valor padrão

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

false

-LiteralPath <string[]>

Especifica o caminho até o item que receberá o conteúdo. Ao contrário de Path, o valor de LiteralPath é usado exatamente como é digitado. Nenhum caractere será interpretado como curinga. Se o caminho incluir caracteres de escape, coloque-os entre aspas simples. As aspas simples dizem ao Windows PowerShell para não interpretar quaisquer caracteres que tenham sequências de escape.

Necessário?

true

Posição?

1

Valor padrão

Aceitar entrada do pipeline?

true (ByPropertyName)

Aceitar caracteres curinga?

false

-PassThru

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

Necessário?

false

Posição?

named

Valor padrão

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

false

-Path <string[]>

Especifica o caminho até o item que receberá o conteúdo. Os caracteres curinga são permitidos.

Necessário?

true

Posição?

1

Valor padrão

Aceitar entrada do pipeline?

true (ByPropertyName)

Aceitar caracteres curinga?

false

-Value <Object[]>

Especifica o novo conteúdo do item.

Necessário?

true

Posição?

2

Valor padrão

Aceitar entrada do pipeline?

true (ByValue, ByPropertyName)

Aceitar caracteres curinga?

false

-Confirm

Solicita confirmação antes da execução do comando.

Necessário?

false

Posição?

named

Valor padrão

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

false

-WhatIf

Descreve o que aconteceria se você executasse o comando, sem executá-lo de fato.

Necessário?

false

Posição?

named

Valor padrão

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

false

-UseTransaction

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

Necessário?

false

Posição?

named

Valor padrão

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

false

<CommonParameters>

Esse cmdlet oferece suporte aos parâmetros comuns: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer e -OutVariable. Para obter mais informações, consulte about_Commonparameters.

Entradas e saídas

O tipo de entrada é o tipo dos objetos que você pode canalizar para o cmdlet. O tipo de retorno é o tipo dos objetos que o cmdlet retorna.

Entradas

System.Object

É possível enviar um objeto que contém o novo valor do item para Set-Content.

Saídas

Nenhum ou System.String

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

Observações

Você também pode fazer referência a Set-Content usando seu alias interno, "sc". Para obter mais informações, consulte about_Aliases.

Set-Content foi desenvolvido para processamento de cadeias de caracteres. Caso você envie objetos diferentes de cadeias de caracteres para Set-Content, ele converterá o objeto em cadeia de caracteres antes de gravá-lo. Para gravar objetos em arquivos, use Out-File.

O cmdlet Set-Content foi desenvolvido 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.

Exemplo 1

C:\PS>set-content -path C:\Test1\test*.txt -value "Hello, World"

Descrição
-----------
Esse comando substitui o conteúdo de todos os arquivos do diretório Test1 com nomes que comecem com "test"por "Hello, World". Esse exemplo mostra como especificar o conteúdo digitando-o no comando.





Exemplo 2

C:\PS>get-date | set-content C:\Test1\date.csv

Descrição
-----------
Esse comando cria um arquivo de tamanho variável separado por vírgulas (csv) que contém somente a data e a hora atuais. Ele usa o cmdlet Get-Date para obter a data e hora atuais do sistema. O operador de pipeline transmite o resultado para Set-Content, que cria o arquivo e escreve o conteúdo.

Caso o diretório Test1 não exista, o comando falhará, mas se o arquivo não existir, será criado pelo comando.





Exemplo 3

C:\PS>(get-content Notice.txt) | foreach-object {$_ -replace "Warning", "Caution"} | set-content Notice.txt

Descrição
-----------
Esse comando substitui todas as instâncias de "Warning" por "Caution" no arquivo Notice.txt. 

Ele usa o cmdlet Get-Content para obter o conteúdo de Notice.txt. O operador de pipeline envia os resultados para o cmdlet ForEach-Object, que aplica a expressão a todas as linhas de conteúdo em Get-Content. A expressão utiliza o símbolo "$_" para se referir ao item atual e o parâmetro Replace para especificar o texto a ser substituído. 

Outro operador de pipeline envia o conteúdo alterado para Set-Content para que ele substitua o texto em Notice.txt pelo novo conteúdo.

Os parênteses em torno do comando Get-Content garantem que a operação Get seja concluída antes do início da operação Set. Sem eles, o comando falharia, pois as duas funções tentariam acessar o mesmo arquivo.





Consulte também

Conceitos

about_Providers
Add-Content
Get-Content
Clear-Content