Partilhar via


Out-File

Envia a saída para um ficheiro.

Syntax

Out-File
   [-FilePath] <string>
   [[-Encoding] <string>]
   [-Append]
   [-Force]
   [-NoClobber]
   [-Width <int>]
   [-NoNewline]
   [-InputObject <psobject>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Out-File
   [[-Encoding] <string>]
   -LiteralPath <string>
   [-Append]
   [-Force]
   [-NoClobber]
   [-Width <int>]
   [-NoNewline]
   [-InputObject <psobject>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

O Out-File cmdlet envia a saída para um ficheiro. Quando precisar de especificar parâmetros para a utilização Out-File de saída em vez do operador de redirecionamento (>).

Exemplos

Exemplo 1: Enviar saída e criar um ficheiro

Este exemplo mostra como enviar uma lista dos processos do computador local para um ficheiro. Se o ficheiro não existir, Out-File cria o ficheiro no caminho especificado.

Get-Process | Out-File -FilePath .\Process.txt
Get-Content -Path .\Process.txt

NPM(K)    PM(M)      WS(M)     CPU(s)      Id  SI ProcessName
 ------    -----      -----     ------      --  -- -----------
     29    22.39      35.40      10.98   42764   9 Application
     53    99.04     113.96       0.00   32664   0 CcmExec
     27    96.62     112.43     113.00   17720   9 Code

O Get-Process cmdlet obtém a lista de processos em execução no computador local. Os objetos Processo são enviados pelo pipeline para o Out-File cmdlet. Out-File utiliza o parâmetro FilePath e cria um ficheiro no diretório atual com o nome Process.txt. O Get-Content comando obtém conteúdo do ficheiro e apresenta-o na consola do PowerShell.

Exemplo 2: Impedir que um ficheiro existente seja substituído

Este exemplo impede que um ficheiro existente seja substituído. Por predefinição, Out-File substitui os ficheiros existentes.

Get-Process | Out-File -FilePath .\Process.txt -NoClobber

Out-File : The file 'C:\Test\Process.txt' already exists.
At line:1 char:15
+ Get-Process | Out-File -FilePath .\Process.txt -NoClobber
+               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

O Get-Process cmdlet obtém a lista de processos em execução no computador local. Os objetos Processo são enviados pelo pipeline para o Out-File cmdlet. Out-File utiliza o parâmetro FilePath e tenta escrever num ficheiro no diretório atual com o nome Process.txt. O parâmetro NoClobber impede que o ficheiro seja substituído e apresenta uma mensagem a indicar que o ficheiro já existe.

Exemplo 3: Enviar saída para um ficheiro no formato ASCII

Este exemplo mostra como codificar a saída com um tipo de codificação específico.

$Procs = Get-Process
Out-File -FilePath .\Process.txt -InputObject $Procs -Encoding ASCII -Width 50

O Get-Process cmdlet obtém a lista de processos em execução no computador local. Os objetos Processo são armazenados na variável . $Procs Out-File utiliza o parâmetro FilePath e cria um ficheiro no diretório atual com o nome Process.txt. O parâmetro InputObject transmite os objetos $Procs de processo para o ficheiro Process.txt. O parâmetro Codificação converte o resultado em formato ASCII . O parâmetro Width limita cada linha no ficheiro a 50 carateres para que alguns dados possam ser truncados.

Exemplo 4: utilizar um fornecedor e enviar a saída para um ficheiro

Este exemplo mostra como utilizar o Out-File cmdlet quando não está numa unidade de fornecedor fileSystem . Utilize o Get-PSProvider cmdlet para ver os fornecedores no seu computador local. Para obter mais informações, veja about_Providers.

PS> Set-Location -Path Alias:

PS> Get-Location

Path
----
Alias:\

PS> Get-ChildItem | Out-File -FilePath C:\TestDir\AliasNames.txt

PS> Get-Content -Path C:\TestDir\AliasNames.txt

CommandType     Name
-----------     ----
Alias           % -> ForEach-Object
Alias           ? -> Where-Object
Alias           ac -> Add-Content
Alias           cat -> Get-Content

O Set-Location comando utiliza o parâmetro Caminho para definir a localização atual para o fornecedor Alias:de registo . O Get-Location cmdlet apresenta o caminho completo para Alias:. Get-ChildItem envia objetos pelo pipeline para o Out-File cmdlet. Out-File utiliza o parâmetro FilePath para especificar o caminho completo e o nome do ficheiro para a saída ,C:\TestDir\AliasNames.txt. O Get-Content cmdlet utiliza o parâmetro Caminho e apresenta o conteúdo do ficheiro na consola do PowerShell.

Parâmetros

-Append

Adiciona a saída ao fim de um ficheiro existente. Se não for especificada nenhuma Codificação , o cmdlet utiliza a codificação predefinida. Essa codificação pode não corresponder à codificação do ficheiro de destino. Este é o mesmo comportamento que o operador de redirecionamento (>>).

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

-Confirm

Solicita a 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

-Encoding

Especifica o tipo de codificação para o ficheiro de destino. O valor predefinido é Unicode.

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

  • ASCII Utiliza o conjunto de carateres ASCII (7 bits).
  • BigEndianUnicode Utiliza UTF-16 com a ordem de bytes big-endian.
  • Predefinição Utiliza a codificação que corresponde à página de código ativo do sistema (normalmente ANSI).
  • OEM Utiliza a codificação que corresponde à página de código OEM atual do sistema.
  • Cadeia O mesmo que Unicode.
  • Unicode Utiliza UTF-16 com a ordem de bytes de pequeno-endiano.
  • Desconhecido O mesmo que Unicode.
  • UTF7 Utiliza UTF-7.
  • UTF8 Utiliza UTF-8.
  • UTF32 Utiliza UTF-32 com a ordem de bytes de pequeno-endiano.
Type:String
Accepted values:ASCII, BigEndianUnicode, Default, OEM, String, Unicode, Unknown, UTF7, UTF8, UTF32
Position:1
Default value:Unicode
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-FilePath

Especifica o caminho para o ficheiro de saída.

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

-Force

Substitui o atributo só de leitura e substitui um ficheiro só de leitura existente. O parâmetro Force não substitui as restrições de segurança.

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

-InputObject

Especifica os objetos a escrever no ficheiro. Introduza uma variável que contenha os objetos ou escreva um comando ou expressão que obtenha os objetos.

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

-LiteralPath

Especifica o caminho para o ficheiro de saída. O parâmetro LiteralPath é utilizado exatamente como é escrito. Os carateres universais não são aceites. Se o caminho incluir carateres de escape, coloque-o entre aspas. As aspas únicas indicam ao PowerShell para não interpretar os carateres como sequências de escape. Para obter mais informações, veja about_Quoting_Rules.

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

-NoClobber

O NoClobber impede que um ficheiro existente seja substituído e apresenta uma mensagem a indicar que o ficheiro já existe. Por predefinição, se existir um ficheiro no caminho especificado, Out-File substitui o ficheiro sem aviso prévio.

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

-NoNewline

Especifica que o conteúdo escrito no ficheiro não termina com um caráter de nova linha. As representações de cadeias dos objetos de entrada são concatenadas para formar o resultado. Não são inseridos espaços ou linhas novas entre as cadeias de saída. Não é adicionada nenhuma nova linha após a última cadeia de saída.

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

-WhatIf

Apresenta o que aconteceria mediante a execução do cmdlet. O cmdlet não é executado.

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

-Width

Especifica o número de carateres em cada linha de saída. Quaisquer carateres adicionais são truncados, não moldados. Se este parâmetro não for utilizado, a largura é determinada pelas características do anfitrião. A predefinição para a consola do PowerShell é de 80 carateres.

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

Entradas

PSObject

Pode encaminhar qualquer objeto para Out-File.

Saídas

None

Out-File não gera nenhuma saída.

Notas

Os Out cmdlets não formatam objetos; apenas os compõem e os enviam para o destino de apresentação especificado. Se enviar um objeto não formatado para um Out cmdlet, o cmdlet envia-o para um cmdlet de formatação antes de o compor.

Para enviar a saída de um comando do PowerShell para o Out-File cmdlet, utilize o pipeline. Pode armazenar dados numa variável e utilizar o parâmetro InputObject para transmitir dados para o Out-File cmdlet.

Out-File envia dados, mas não produz objetos de saída. Se encaminhar a saída de Out-File para Get-Member, o Get-Member cmdlet comunica que não foram especificados objetos.