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
Libovolný objekt můžete převést do Out-File
kaná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-Member
rutiny , rutina Get-Member
hlásí, že nebyly zadány žádné objekty.