Dela via


Out-File

Skickar utdata till en fil.

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

Cmdleten Out-File skickar utdata till en fil. När du behöver ange parametrar för utdataanvändningen Out-File i stället för omdirigeringsoperatorn (>).

Exempel

Exempel 1: Skicka utdata och skapa en fil

Det här exemplet visar hur du skickar en lista över den lokala datorns processer till en fil. Om filen inte finns Out-File skapar du filen i den angivna sökvägen.

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

Cmdleten Get-Process hämtar listan över processer som körs på den lokala datorn. Processobjekten skickas ned pipelinen till cmdletenOut-File. Out-File använder FilePath-parametern och skapar en fil i den aktuella katalogen med namnetProcess.txt. Kommandot Get-Content hämtar innehåll från filen och visar det i PowerShell-konsolen.

Exempel 2: Förhindra att en befintlig fil skrivs över

Det här exemplet förhindrar att en befintlig fil skrivs över. Som standard Out-File skriver du över befintliga filer.

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
+               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Cmdleten Get-Process hämtar listan över processer som körs på den lokala datorn. Processobjekten skickas ned pipelinen till cmdletenOut-File. Out-File använder FilePath-parametern och försöker skriva till en fil i den aktuella katalogen med namnet Process.txt. Parametern NoClobber förhindrar att filen skrivs över och visar ett meddelande om att filen redan finns.

Exempel 3: Skicka utdata till en fil i ASCII-format

Det här exemplet visar hur du kodar utdata med en viss kodningstyp.

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

Cmdleten Get-Process hämtar listan över processer som körs på den lokala datorn. Processobjekten lagras i variabeln . $Procs Out-File använder FilePath-parametern och skapar en fil i den aktuella katalogen med namnetProcess.txt. Parametern InputObject skickar processobjekten till $Procs filen Process.txt. Kodningsparametern konverterar utdata till ASCII-format. Parametern Width begränsar varje rad i filen till 50 tecken så att vissa data kan trunkeras.

Exempel 4: Använd en provider och skicka utdata till en fil

Det här exemplet visar hur du använder cmdleten Out-File när du inte är på en FileSystem-providerenhet . Använd cmdleten Get-PSProvider för att visa leverantörerna på den lokala datorn. Mer information finns i 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

Kommandot Set-Location använder parametern Path för att ange den aktuella platsen till registerprovidern Alias:. Cmdleten Get-Location visar den fullständiga sökvägen för Alias:. Get-ChildItem skickar objekt ned i pipelinen till cmdleten Out-File . Out-File använder FilePath-parametern för att ange den fullständiga sökvägen och filnamnet för utdata ,C:\TestDir\AliasNames.txt. Cmdleten Get-Content använder parametern Path och visar filens innehåll i PowerShell-konsolen.

Parametrar

-Append

Lägger till utdata i slutet av en befintlig fil. Om ingen kodning har angetts använder cmdleten standardkodningen. Den kodningen kanske inte matchar kodningen av målfilen. Det här är samma beteende som omdirigeringsoperatorn (>>).

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

-Confirm

Uppmanar dig att bekräfta innan du kör cmdleten.

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

-Encoding

Anger typen av kodning för målfilen. Standardvärdet är Unicode.

Godkända värden för den här parametern är följande:

  • ASCII Använder ASCII(7-bitars) teckenuppsättning.
  • BigEndianUnicode Använder UTF-16 med storslutsbyteordningen.
  • Standard Använder den kodning som motsvarar systemets aktiva kodsida (vanligtvis ANSI).
  • OEM Använder den kodning som motsvarar systemets aktuella OEM-kodsida.
  • Sträng Samma som Unicode.
  • Unicode Använder UTF-16 med den lite endianska byteordningen.
  • Okänd Samma som Unicode.
  • UTF7 Använder UTF-7.
  • UTF8 Använder UTF-8.
  • UTF32 Använder UTF-32 med den lite endianska byteordningen.
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

Anger sökvägen till utdatafilen.

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

-Force

Åsidosätter det skrivskyddade attributet och skriver över en befintlig skrivskyddad fil. Force-parametern åsidosätter inte säkerhetsbegränsningar.

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

-InputObject

Anger de objekt som ska skrivas till filen. Ange en variabel som innehåller objekten eller skriv ett kommando eller uttryck som hämtar objekten.

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

-LiteralPath

Anger sökvägen till utdatafilen. Parametern LiteralPath används exakt som den skrivs. Jokertecken accepteras inte. Om sökvägen innehåller escape-tecken omger du den inom enkla citattecken. Enkla citattecken säger till PowerShell att inte tolka några tecken som escape-sekvenser. Mer information finns i about_Quoting_Rules.

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

-NoClobber

NoClobber förhindrar att en befintlig fil skrivs över och visar ett meddelande om att filen redan finns. Om det finns en fil i den angivna sökvägen Out-File skriver du som standard över filen utan varning.

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

-NoNewline

Anger att innehållet som skrivs till filen inte slutar med ett nytt radtecken. Strängrepresentationerna av indataobjekten sammanfogas för att bilda utdata. Inga blanksteg eller nya linjer infogas mellan utdatasträngarna. Ingen ny rad läggs till efter den senaste utdatasträngen.

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

-WhatIf

Visar vad som skulle hända om cmdleten kördes. Cmdleten körs inte.

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

-Width

Anger antalet tecken i varje rad med utdata. Ytterligare tecken trunkeras, inte omsluts. Om den här parametern inte används bestäms bredden av värdens egenskaper. Standardvärdet för PowerShell-konsolen är 80 tecken.

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

Indata

PSObject

Du kan skicka valfritt objekt till Out-File.

Utdata

None

Out-File genererar inga utdata.

Kommentarer

Cmdletarna formaterar inte objekt. De Out renderar dem bara och skickar dem till det angivna visningsmålet. Om du skickar ett oformaterat objekt till en Out cmdlet skickar cmdleten det till en formaterings-cmdlet innan den återges.

Om du vill skicka utdata från ett PowerShell-kommando till cmdleten Out-File använder du pipelinen. Du kan lagra data i en variabel och använda parametern InputObject för att skicka data till cmdleten Out-File .

Out-File skickar data men skapar inga utdataobjekt. Om du skickar utdata Out-File från till Get-Memberrapporterar cmdleten Get-Member att inga objekt har angetts.