Out-File
Kimenetet küld egy fájlnak.
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
A Out-File
parancsmag kimenetet küld egy fájlnak. Implicit módon a PowerShell formázási rendszerét használja a fájlba való íráshoz. A fájl ugyanazt a megjelenítési megjelenítést kapja, mint a terminál. Ez azt jelenti, hogy a kimenet nem ideális programozott feldolgozáshoz, kivéve, ha minden bemeneti objektum sztring.
Ha paramétereket kell megadnia a kimenethez, használja Out-File
az átirányítási operátor (>
) helyett. Az átirányítással kapcsolatos további információkért lásd: about_Redirection.
Példák
1. példa: Kimenet küldése és fájl létrehozása
Ez a példa bemutatja, hogyan küldheti el a helyi számítógép folyamatainak listáját egy fájlba. Ha a fájl nem létezik, Out-File
a megadott elérési úton hozza létre a fájlt.
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
A Get-Process
parancsmag lekéri a helyi számítógépen futó folyamatok listáját. A folyamatobjektumok le lesznek küldve a folyamatról a Out-File
parancsmagnak. Out-File
A FilePath paramétert használja, és létrehoz egy fájlt az aktuális könyvtárban Process.txt. A Get-Content
parancs lekéri a fájlt, és megjeleníti azt a PowerShell-konzolon.
2. példa: Meglévő fájl felülírásának megakadályozása
Ez a példa megakadályozza egy meglévő fájl felülírását. Alapértelmezés szerint felülírja a Out-File
meglévő fájlokat.
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
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
A Get-Process
parancsmag lekéri a helyi számítógépen futó folyamatok listáját. A folyamatobjektumok le lesznek küldve a folyamatról a Out-File
parancsmagnak. Out-File
A FilePath paramétert használja, és megkísérli az írást az aktuális könyvtárban Process.txt nevű fájlba. A NoClobber paraméter megakadályozza a fájl felülírását, és egy üzenetet jelenít meg arról, hogy a fájl már létezik.
3. példa: Kimenet küldése fájlba ASCII formátumban
Ez a példa bemutatja, hogyan kódolhatja a kimenetet egy adott kódolási típussal.
$Procs = Get-Process
Out-File -FilePath .\Process.txt -InputObject $Procs -Encoding ASCII -Width 50
A Get-Process
parancsmag lekéri a helyi számítógépen futó folyamatok listáját. A folyamatobjektumok a változóban vannak tárolva. $Procs
Out-File
A FilePath paramétert használja, és létrehoz egy fájlt az aktuális könyvtárban Process.txt. Az InputObject paraméter átadja a folyamatobjektumokat $Procs
a fájl Process.txt. A Kódolás paraméter ASCII formátumúra alakítja a kimenetet. A Width paraméter a fájl minden sorát 50 karakterre korlátozza, hogy egyes adatok csonkoljanak.
4. példa: Szolgáltató használata és kimenet küldése fájlba
Ez a példa bemutatja, hogyan használhatja a Out-File
parancsmagot, ha nem fájlrendszerszolgáltatói meghajtón van. Get-PSProvider
A parancsmaggal megtekintheti a szolgáltatókat a helyi számítógépen. További információ: 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
A Set-Location
parancs az Elérési út paraméter használatával állítja be az aktuális helyet a beállításjegyzék-szolgáltatónak Alias:
. A Get-Location
parancsmag a teljes elérési utat Alias:
jeleníti meg.
Get-ChildItem
objektumokat küld le a folyamatból a Out-File
parancsmagba. Out-File
A FilePath paraméterrel adja meg a kimenet teljes elérési útját és fájlnevét( C:\TestDir\AliasNames.txt). A Get-Content
parancsmag az Elérési út paramétert használja, és megjeleníti a fájl tartalmát a PowerShell-konzolon.
5. példa: Fájlkimenet szélességének beállítása a teljes hatókörhöz
Ez a példa $PSDefaultParameterValues
az Width
átirányítási operátorok (>
és >>
) összes meghívásának paraméterét Out-File
2000-re állítja. Ez biztosítja, hogy mindenhol, ahol a jelenlegi hatókörben táblaformátumú adatokat ad ki a fájlba, a PowerShell a PowerShell-gazdagép konzolszélessége által meghatározott vonalszélesség helyett 2000-es vonalszélességet használ.
function DemoDefaultOutFileWidth() {
try {
$PSDefaultParameterValues['out-file:width'] = 2000
$logFile = "$pwd\logfile.txt"
Get-ChildItem Env:\ > $logFile
Get-Service -ErrorAction Ignore |
Format-Table -AutoSize |
Out-File $logFile -Append
Get-Process | Format-Table Id,SI,Name,Path,MainWindowTitle >> $logFile
}
finally {
$PSDefaultParameterValues.Remove('out-file:width')
}
}
DemoDefaultOutFileWidth
További információ: $PSDefaultParameterValues
about_Preference_Variables.
Paraméterek
-Append
Hozzáadja a kimenetet egy meglévő fájl végéhez. Ha nincs megadva kódolás , a parancsmag az alapértelmezett kódolást használja. Előfordulhat, hogy ez a kódolás nem egyezik a célfájl kódolásával. Ez ugyanaz a viselkedés, mint az átirányítási operátor (>>
).
Típus: | SwitchParameter |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-Confirm
Jóváhagyást kér a parancsmag futtatása előtt.
Típus: | SwitchParameter |
Aliasok: | cf |
Position: | Named |
Alapértelmezett érték: | False |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-Encoding
Megadja a célfájl kódolási típusát. Az alapértelmezett érték unicode
.
A paraméter elfogadható értékei a következők:
ascii
ASCII (7 bites) karakterkészletet használ.bigendianunicode
Az UTF-16-ot használja a big-endian bájtsorrenddel.default
A rendszer aktív kódlapjának (általában ANSI) megfelelő kódolást használja.oem
A rendszer aktuális OEM-kódlapjának megfelelő kódolást használja.string
Ugyanaz, mintunicode
a .unicode
Az UTF-16-ot használja a kis végű bájtsorrenddel.unknown
Ugyanaz, mintunicode
a .utf7
UTF-7-et használ.utf8
UTF-8-at használ.utf32
Az UTF-32-t használja a kis végű bájtsorrenddel.
Típus: | String |
Elfogadott értékek: | ASCII, BigEndianUnicode, Default, OEM, String, Unicode, Unknown, UTF7, UTF8, UTF32 |
Position: | 1 |
Alapértelmezett érték: | Unicode |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-FilePath
Megadja a kimeneti fájl elérési útját.
Típus: | String |
Position: | 0 |
Alapértelmezett érték: | None |
Kötelező: | True |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-Force
Felülírja az írásvédett attribútumot, és felülír egy meglévő írásvédett fájlt. A Force paraméter nem bírálja felül a biztonsági korlátozásokat.
Típus: | SwitchParameter |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-InputObject
Megadja a fájlba írandó objektumokat. Adjon meg egy változót, amely tartalmazza az objektumokat, vagy írjon be egy parancsot vagy kifejezést, amely lekéri az objektumokat.
Típus: | PSObject |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | True |
Helyettesítő karakterek elfogadása: | False |
-LiteralPath
Megadja a kimeneti fájl elérési útját. A LiteralPath paramétert pontosan a beírt módon használja a rendszer. A helyettesítő karakterek nem fogadhatók el. Ha az elérési út tartalmaz escape karaktereket, csatolja egy idézőjelek közé. Az idézőjelek azt mondják a PowerShellnek, hogy ne értelmezzen karaktereket feloldósorozatként. További információ: about_Quoting_Rules.
Típus: | String |
Aliasok: | PSPath |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | True |
Folyamatbemenet elfogadása: | True |
Helyettesítő karakterek elfogadása: | False |
-NoClobber
A NoClobber megakadályozza egy meglévő fájl felülírását, és megjeleníti a fájl már létező üzenetét. Alapértelmezés szerint, ha egy fájl létezik a megadott elérési úton, Out-File
figyelmeztetés nélkül felülírja a fájlt.
Típus: | SwitchParameter |
Aliasok: | NoOverwrite |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-NoNewline
Megadja, hogy a fájlba írt tartalom ne végződjön új karakterrel. A bemeneti objektumok sztringreprezentációi összefűzve jelennek meg a kimenet létrehozásához. A kimeneti sztringek között nincsenek szóközök vagy új vonalak. Az utolsó kimeneti sztring után nincs új vonal hozzáadva.
Típus: | SwitchParameter |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-WhatIf
Bemutatja, mi történne a parancsmag futtatásakor. A parancsmag nem fut.
Típus: | SwitchParameter |
Aliasok: | wi |
Position: | Named |
Alapértelmezett érték: | False |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-Width
Az egyes kimeneti sorokban szereplő karakterek maximális számát adja meg. A további karakterek csonkolva vannak, nem burkolva. Ha ezt a paramétert nem használja, a szélességet a gazdagép jellemzői határozzák meg. A PowerShell-konzol alapértelmezett értéke 80 karakter. Ha a használat Out-File
előtt szeretné szabályozni az átirányítási operátorok (>
és >>
) $PSDefaultParameterValues['out-file:width'] = 2000
összes meghívásának szélességétOut-File
.
Típus: | Int32 |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
Bevitelek
A parancsmaghoz bármilyen objektumot csövezhet.
Kimenetek
None
Ez a parancsmag nem ad vissza kimenetet.
Jegyzetek
A bemeneti objektumok automatikusan úgy vannak formázva, mint a terminálban, de parancsmaggal Format-*
explicit módon szabályozhatja a fájl kimenetének formázását. Például: Get-Date | Format-List | Out-File out.txt
A PowerShell-parancs kimenetének a Out-File
parancsmagba való küldéséhez használja a folyamatot. Másik lehetőségként adatokat tárolhat egy változóban, és az InputObject paraméterrel adatokat továbbíthat a Out-File
parancsmagnak.
Out-File
Adatokat ment egy fájlba, de nem hoz létre kimeneti objektumokat a folyamathoz.