Sendet die Ausgabe an eine Datei.
Syntax
Beschreibung
Das Cmdlet Out-File
sendet die Ausgabe an eine Datei. Es verwendet implizit das Formatierungssystem von PowerShell, um auf die Datei zuzugreifen. Die Datei erhält dieselbe Anzeigedarstellung wie das Terminal. Dies bedeutet, dass die Ausgabe möglicherweise nicht ideal für die programmatische Verarbeitung ist, es sei denn, alle Eingabeobjekte sind Zeichenfolgen.,Wenn Sie Parameter für die Ausgabe angeben müssen, verwenden Sie Out-File
anstelle des redirectionoperator (>
). Weitere Informationen zur Umleitung finden Sie unter about_Redirection.
Beispiele
Beispiel 1: Ausgabe senden und eine Datei erstellen
Dieses Beispiel zeigt, wie eine Liste der Prozesse des lokalen Computers an eine Datei gesendet wird. Wenn die Datei nicht vorhanden ist, erstellt Out-File
die Datei im angegebenen Pfad.
Das Cmdlet Get-Process
ruft die Liste der auf dem lokalen Computer ausgeführten Prozesse ab., Die Processobjects werden über die Pipeline an das Cmdlet Out-File
gesendet. Out-File
verwendet den FilePathparameter und erstellt eine Datei im aktuellen Verzeichnis Process.txt. Der Befehl Get-Content
ruft Inhalte aus der Datei ab und zeigt sie in der PowerShell-Konsole an.
Beispiel 2: Verhindern, dass eine vorhandene Datei überschrieben wird
Dieses Beispiel verhindert, dass eine vorhandene Datei überschrieben wird. Standardmäßig überschreibt Out-File
vorhandene Dateien.,
Das Cmdlet Get-Process
ruft die Liste der auf dem lokalen Computer ausgeführten Prozesse ab. Die Processobjects werden über die Pipeline an das Cmdlet Out-File
gesendet. Out-File
verwendet den FilePathparameter und versucht, in eine Datei im aktuellen Verzeichnis mit dem Namen Process zu schreiben.txt. Der Parameter TheNoClobber verhindert, dass die Datei überschrieben wird, und zeigt eine Meldung an, dass die Datei bereits vorhanden ist.
Beispiel 3: Ausgabe an eine Datei im ASCII-Format senden
Dieses Beispiel zeigt, wie die Ausgabe mit einem bestimmten Codierungstyp codiert wird.,
$Procs = Get-ProcessOut-File -FilePath .\Process.txt -InputObject $Procs -Encoding ASCII -Width 50
Das Get-Process
Cmdlet ruft die Liste der auf dem lokalen Computer ausgeführten Prozesse ab. Die Processobjects werden in der Variablen $Procs
gespeichert. Out-File
verwendet den Parameter filePath und erstellt eine Datei im aktuellen Verzeichnis mit dem Namen Process.txt. Der Parameter InputObject übergibt dieprocess-Objekte in $Procs
an den Dateiprozess.txt. Der Parameter Encoding konvertiert theoutput in das ASCII-Format. Der Parameter Width begrenzt jede Zeile in der Datei auf 50 Zeichen, damit die Daten abgeschnitten werden können.,
Beispiel 4: Verwenden Sie einen Provider und senden Sie die Ausgabe an eine Datei
Dieses Beispiel zeigt, wie Sie das Cmdlet Out-File
verwenden, wenn Sie sich nicht in einem Dateisystem-Providerdrive befinden. Verwenden Sie das Cmdlet Get-PSProvider
, um die Anbieter auf Ihrem lokalen Computer anzuzeigen. Weitere Informationen finden Sie unter about_Providers.
Der Befehl Set-Location
verwendet den Parameter Path, um den aktuellen Speicherort für den Registryprovider Alias:
festzulegen. Das Cmdlet Get-Location
zeigt den vollständigen Pfad für Alias:
an.,Get-ChildItem
sendet Objekte in der Pipeline an das Cmdlet Out-File
. Out-File
verwendet den Parameter filePath, um den vollständigen Pfad und Dateinamen für die Ausgabe anzugeben.C:\TestDir\AliasNames.txt. Das Cmdlet Get-Content
verwendet den Parameter Path und zeigt den Inhalt der Datei in der PowerShell-Konsole an.
Parameter
Fügt die Ausgabe am Ende einer vorhandenen Datei hinzu.,
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Prompts you for confirmation before running the cmdlet.,
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Specifies the type of encoding for the target file. The default value is utf8NoBOM
.,
Die zulässigen Werte für diesen Parameter lauten wie folgt:
-
ascii
: Verwendet die Codierung für den ASCII-Zeichensatz (7 Bit). -
bigendianunicode
: Codiert in UTF-16-format mit der big-endian-byte-Reihenfolge. -
bigendianutf32
: Codiert in UTF-32-format mit der big-endian-byte-Reihenfolge. -
oem
: Verwendet die Standardcodierung für MS-DOS und Konsolenprogramme. -
unicode
: Codiert in UTF-16-format mit der little-endian-byte-Reihenfolge., -
utf7
: Kodiert im UTF-7-Format. -
utf8
: Kodiert im UTF-8-Format. -
utf8BOM
: Kodiert im UTF-8-Format mit Byte Order Mark (BOM) -
utf8NoBOM
: Kodiert im UTF-8-Format ohne Byte Order Mark (BOM) -
utf32
: Kodiert im UTF-32-Format.
Beginnend mit PowerShell 6.,2 erlaubt der Codierungsparameter auch numerische IDs registrierter Codepages (wie -Encoding 1251
) oder Zeichenfolgennamen registrierter Codepages (wie-Encoding "windows-1251"
). Weitere Informationen finden Sie in der.NET-Dokumentation zum Codieren.zeichenumsetztabelle.
Hinweis:
UTF-7* wird nicht mehr empfohlen. In PowerShell 7.1 wird eine Warnung geschrieben, wenn Siespezifizieren Sie utf7
für den Codierungsparameter.,
Type: | Encoding |
Accepted values: | ASCII, BigEndianUnicode, BigEndianUTF32, OEM, Unicode, UTF7, UTF8, UTF8BOM, UTF8NoBOM, UTF32 |
Position: | 1 |
Default value: | UTF8NoBOM |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Specifies the path to the output file.,
Type: | String |
Aliases: | Path |
Position: | 0 |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Overrides the read-only attribute and overwrites an existing read-only file. The Force parameterdoes not override security restrictions.,
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Platzhalterzeichen akzeptieren: | False |
Gibt die Objekte an, die in die Datei geschrieben werden sollen. Geben Sie eine Variable ein, die die Objekte oder den Typ enthältein Befehl oder Ausdruck, der die Objekte abruft.,
Type: | PSObject |
Position: | Named |
Default value: | None |
Accept pipeline input: | True |
Platzhalterzeichen akzeptieren: | False |
Gibt den Pfad zur Ausgabedatei an. Der LiteralPath-Parameter wird genau so verwendet, wie er eingegeben wird.Platzhalterzeichen werden nicht akzeptiert. Wenn der Pfad Escape-Zeichen enthält, fügen Sie ihn in Einzelquotationszeichen ein., Einfache Anführungszeichen weisen PowerShell an, keine Zeichen als Escapesequences zu interpretieren. Weitere Informationen finden Sie unter „about_Quoting_Rules“.,
Type: | String |
Aliases: | PSPath, LP |
Position: | Named |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | False |
NoClobber prevents an existing file from being overwritten and displays a message that the filealready exists., Wenn eine Datei im angegebenen Pfad vorhanden ist, überschreibt Out-File
standardmäßig die Warnung filewithout.,
Type: | SwitchParameter |
Aliase: | NoOverwrite |
Position: | Named |
Default value: | None |
Pipeline-Eingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
Gibt an, dass der in die Datei geschriebene Inhalt nicht mit einem Zeilenumbruchszeichen endet. Die Stringrepresentationen der Eingabeobjekte werden verkettet, um die Ausgabe zu bilden., Zwischen den Ausgabezeichenfolgen werden keine Leerzeichen oder Zeilenumbrüche gesetzt. Nach der letzten Ausgabezeichenfolge wird keine neue Zeile hinzugefügt.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Platzhalterzeichen akzeptieren: | False |
Zeigt an, was passieren würde, wenn das Cmdlet ausgeführt wird. Das cmdlet wird nicht ausgeführt.,
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Specifies the number of characters in each line of output. Any additional characters are truncated,not wrapped., Wenn dieser Parameter nicht verwendet wird,wird die Breite durch die Eigenschaften deshost. Der Standardwert für die PowerShell-Konsole beträgt 80 Zeichen.
Type: | Int32 |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Platzhalterzeichen akzeptieren: | False |
Eingänge
PSObject
Sie können jedes Objekt an Out-File
weiterleiten.,
Ausgänge
Keine
Out-File
erzeugt keine Ausgabe.
Hinweise
Eingabeobjekte werden automatisch so formatiert, wie sie sich im Terminal befinden würden, aber Sie können einFormat-*
cmdlet verwenden, um die Formatierung der Ausgabe in die Datei explizit zu steuern. Verwenden Sie beispielsweiseGet-Date | Format-List | Out-File out.txt
Um die Ausgabe eines PowerShell-Befehls an das Cmdlet Out-File
zu senden, verwenden Sie die Pipeline. Alternativ können Sie Daten in einer Variablen speichern und mit dem Parameter InputObject Daten an das Cmdlet Out-File
übergeben.,
Out-File
speichert Daten in einer Datei, erzeugt jedoch keine Ausgabeobjekte für die Pipeline.
- about_Providers
- about_Quoting_Rules
- Out-Default
- Out-Host
- Out-Null
- Out-String
- Tee-Object
Schreibe einen Kommentar