Sdílet prostřednictvím


Out-File

Odešle výstup do souboru.

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

Rutina Out-File odešle výstup do souboru. Pokud potřebujete zadat parametry pro výstup, použijte Out-File místo operátoru přesměrování (>).

Příklady

Příklad 1: Odeslání výstupu a vytvoření souboru

Tento příklad ukazuje, jak odeslat seznam procesů místního počítače do souboru. Pokud soubor neexistuje, Out-File vytvoří soubor v zadané cestě.

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

Rutina Get-Process získá seznam procesů spuštěných v místním počítači. Objekty Procesu se odesílají do kanálu rutiny Out-File . Out-File použije parametr FilePath a vytvoří soubor v aktuálním adresáři s názvemProcess.txt. Příkaz Get-Content získá obsah ze souboru a zobrazí ho v konzole PowerShellu.

Příklad 2: Zabránění přepsání existujícího souboru

Tento příklad zabraňuje přepsání existujícího souboru. Ve výchozím nastavení Out-File přepíše existující soubory.

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

Rutina Get-Process získá seznam procesů spuštěných v místním počítači. Objekty Procesu se odesílají do kanálu rutiny Out-File . Out-File používá parametr FilePath a pokusí se zapsat do souboru v aktuálním adresáři s názvemProcess.txt. Parametr NoClobber zabrání přepsání souboru a zobrazí zprávu, že soubor již existuje.

Příklad 3: Odeslání výstupu do souboru ve formátu ASCII

Tento příklad ukazuje, jak kódovat výstup pomocí konkrétního typu kódování.

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

Rutina Get-Process získá seznam procesů spuštěných v místním počítači. Objekty Process jsou uloženy v proměnné $Procs. Out-File použije parametr FilePath a vytvoří soubor v aktuálním adresáři s názvemProcess.txt. Parametr InputObject předá objekty procesu do $Procs souboru Process.txt. Parametr Encoding převede výstup do formátu ASCII . Parametr Width omezuje každý řádek v souboru na 50 znaků, takže některá data mohou být zkrácena.

Příklad 4: Použití poskytovatele a odeslání výstupu do souboru

Tento příklad ukazuje, jak použít rutinu Out-File , když nejste v jednotce zprostředkovatele FileSystem . Pomocí rutiny Get-PSProvider zobrazte poskytovatele v místním počítači. Další informace najdete v tématu 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

Příkaz Set-Location používá parametr Path k nastavení aktuálního umístění na zprostředkovatele Alias:registru . Rutina Get-Location zobrazí úplnou cestu pro Alias:. Get-ChildItem odesílá objekty v kanálu do rutiny Out-File . Out-File pomocí parametru FilePath určuje úplnou cestu a název souboru výstupu C:\TestDir\AliasNames.txt. Rutina Get-Content použije parametr Path a zobrazí obsah souboru v konzole PowerShellu.

Parametry

-Append

Přidá výstup na konec existujícího souboru. Pokud není zadáno žádné kódování , rutina použije výchozí kódování. Toto kódování nemusí odpovídat kódování cílového souboru. Jedná se o stejné chování jako u operátoru přesměrování (>>).

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

-Confirm

Před spuštěním rutiny zobrazí výzvu k potvrzení.

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

-Encoding

Určuje typ kódování cílového souboru. Výchozí hodnota je Unicode.

Přijatelné hodnoty pro tento parametr jsou následující:

  • ASCII Používá 7bitovou znakovou sadu ASCII.
  • BigEndianUnicode Používá UTF-16 s pořadím bajtů big-endian.
  • Výchozí Použije kódování, které odpovídá aktivní znakové stránce systému (obvykle ANSI).
  • OEM Použije kódování, které odpovídá aktuální znakové stránce výrobce OEM systému.
  • Řetězec Stejné jako Unicode.
  • Unicode Používá UTF-16 s pořadím bajtů little-endian.
  • Neznámý Stejné jako Unicode.
  • UTF7 Používá UTF-7.
  • UTF8 Používá UTF-8.
  • UTF32 Používá UTF-32 s pořadím bajtů little-endian.
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

Určuje cestu k výstupnímu souboru.

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

-Force

Přepíše atribut jen pro čtení a přepíše existující soubor jen pro čtení. Parametr Force nepřepíše omezení zabezpečení.

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

-InputObject

Určuje objekty, které mají být zapsány do souboru. Zadejte proměnnou, která obsahuje objekty, nebo zadejte příkaz nebo výraz, který získá objekty.

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

-LiteralPath

Určuje cestu k výstupnímu souboru. Parametr LiteralPath se používá přesně tak, jak je zadán. Zástupné znaky nejsou přijímány. Pokud cesta obsahuje řídicí znaky, uzavřete ji do jednoduchých uvozovek. Jednoduché uvozovky říkají PowerShellu, že nemá interpretovat žádné znaky jako řídicí sekvence. Další informace najdete v tématu about_Quoting_Rules.

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

-NoClobber

NoClobber zabrání přepsání existujícího souboru a zobrazí zprávu, že soubor již existuje. Pokud v zadané cestě existuje soubor, Out-File ve výchozím nastavení ho bez upozornění přepíše.

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

-NoNewline

Určuje, že obsah zapsaný do souboru nekončí znakem nového řádku. Řetězcové reprezentace vstupních objektů jsou zřetězeny a tvoří výstup. Mezi výstupní řetězce se nevkládají žádné mezery ani nové čáry. Za poslední výstupní řetězec se nepřidá žádný nový řádek.

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

-WhatIf

Zobrazuje, co by se stalo při spuštění rutiny. Rutina není spuštěna.

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

-Width

Určuje počet znaků v každém řádku výstupu. Všechny další znaky se zkrátí, nezabalí. Pokud tento parametr není použit, šířka je určena vlastnostmi hostitele. Výchozí hodnota pro konzolu PowerShellu je 80 znaků.

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

Vstupy

PSObject

Libovolný objekt můžete převést do Out-Filekanálu .

Výstupy

None

Out-File negeneruje žádný výstup.

Poznámky

Rutiny Out neformátují objekty, pouze je vykreslují a odesílají do zadaného cíle zobrazení. Pokud do rutiny odešlete neformátovaný objekt Out , rutina ho před vykreslením odešle do rutiny formátování.

K odeslání výstupu příkazu PowerShellu do rutiny Out-File použijte kanál . Data můžete uložit do proměnné a pomocí parametru InputObject předat data rutině Out-File .

Out-File odesílá data, ale nevytváří žádné výstupní objekty. Pokud výstup Out-File předáte do Get-Memberrutiny , rutina Get-Member hlásí, že nebyly zadány žádné objekty.