Set-Content é um daqueles cmdlets essenciais do PowerShell que eu não posso ficar sem. Ainda me lembro de usar VBscript antes de podermos usar o PowerShell para escrever em um arquivo. Eu sempre tentava lembrar que tipo de objeto eu precisava usar e o nome do método. Era FileSystemObject, FileObject ou o quê? Era uma dor de cabeça! Mesmo quando lembrava que o nome do método era CreateTextFile()
, eu sempre esquecia de adicionar True
como segundo argumento.
Aqui está um exemplo da monstruosidade da qual estou falando.
Compare esse VBScript com este PowerShell:
Set-Content -Path 'C:\file.txt' -Value 'test string'
Qual você prefere? Eu escolho o caminho do PowerShell! O caminho do PowerShell usa um único cmdlet chamado Set-content. Este cmdlet nos permite muito mais facilmente usar o PowerShell para escrever em um arquivo. Este cmdlet do PowerShell é um cmdlet integrado com um único propósito; escrever em um arquivo.
Pode ter alguns parâmetros aqui e ali para modificar esse comportamento um pouco, mas ele está focado exclusivamente em escrever em um arquivo. Não confunda com Add-Content
, no entanto, pois são semelhantes. Set-Content
sobrescreve todo o arquivo, enquanto Add-Content
adiciona a um arquivo. Aprendi isso da maneira difícil várias vezes quando comecei!
Criando um Arquivo/Sobrescrevendo um Arquivo
O cmdlet Set-Content
é bastante simples. Abaixo está um bom exemplo. Este exemplo mostra que Set-Content
pode criar um arquivo se ele não existir ou substituir todo o conteúdo dentro de um arquivo existente.
Saída para um Arquivo
Um cmdlet que pode enviar a saída para um arquivo é Out-File
, mas Set-Content
pode realizar a mesma tarefa, embora de maneira um pouco diferente.
Talvez você queira extrair partes específicas de um arquivo de texto e enviar linhas para outro arquivo. Usando Get-Content
e Set-Content
, você pode fazer isso acontecer. Talvez eu tenha um arquivo de texto com um servidor e seu status por linha. Gostaria de ler o status de cada servidor e enviar isso para um arquivo. Usando Get-Content
para ler o arquivo e Set-Content
para escrever no arquivo, é possível.
Set-Content
é um daqueles cmdlets principais que são constantemente utilizados. Não é sofisticado, mas funciona sempre e é algo que você deve ter em seu arsenal de truques do PowerShell.
Para uma análise completa, confira a documentação da Microsoft sobre Set-Content.
Source:
https://adamtheautomator.com/powershell-write-to-file/