about_Redirection
Letzte Aktualisierung: Mai 2014
Betrifft: Windows PowerShell 2.0, Windows PowerShell 3.0, Windows PowerShell 4.0, Windows PowerShell 5.0
THEMA
about_Redirection
KURZE BESCHREIBUNG
Erläutert, wie die Ausgabe von Windows PowerShell® in Textdateien umgeleitet wird.
LANGE BESCHREIBUNG
Standardmäßig sendet Windows PowerShell die Befehlsausgabe an die Windows PowerShell-Konsole. Sie können die Ausgabe jedoch in eine Textdatei senden, und Sie können die Fehlerausgabe an den regulären Ausgabestream umleiten.
Sie können die Ausgabe mithilfe der folgenden Methoden umleiten:
- Verwenden Sie das Out-File-Cmdlet, das die Befehlsausgabe in eine Textdatei sendet. Normalerweise verwenden Sie das Out-File-Cmdlet, wenn Sie die zugehörigen Parameter wie z. B. „Encoding“, „Force“, „Width“ oder „NoClobber“ benötigen.
- Verwenden Sie das Tee-Object-Cmdlet, das die Befehlsausgabe in eine Textdatei und dann an die Pipeline sendet.
- Verwenden Sie die Windows PowerShell-Umleitungsoperatoren.
WINDOWS POWERSHELL-UMLEITUNGSOPERATOREN
Mit den Umleitungsoperatoren können Sie bestimmte Ausgabetypen an Dateien und dann an den Erfolgsausgabestream senden.
Die Windows PowerShell-Umleitungsoperatoren verwenden die folgenden Zeichen, um jeden Ausgabetyp darzustellen:
* All output
1 Success output
2 Errors
3 Warning messages
4 Verbose output
5 Debug messages
HINWEIS: Die Umleitungsoperatoren „All“ (*), „Warning“ (3), „Verbose“ (4) und „Debug“ (5) wurden in Windows PowerShell 3.0 eingeführt. Sie funktionieren nicht in früheren Versionen von Windows PowerShell.
Die Windows PowerShell-Umleitungsoperatoren lauten wie folgt.
Operator Description Example
-------- ---------------------- ------------------------------
> Sends output to the Get-Process > Process.txt
specified file.
>> Appends the output to dir *.ps1 >> Scripts.txt
the contents of the
specified file.
2> Sends errors to the Get-Process none 2> Errors.txt
specified file.
2>> Appends errors to Get-Process none 2>> Save-Errors.txt
the contents of the
specified file.
2>&1 Sends errors (2) and Get-Process none, Powershell 2>&1
success output (1)
to the success
output stream.
3> Sends warnings to the Write-Warning "Test!" 3> Warnings.txt
specified file.
3>> Appends warnings to Write-Warning "Test!" 3>> Save-Warnings.txt
the contents of the
specified file.
3>&1 Sends warnings (3) and function Test-Warning
success output (1) { Get-Process PowerShell;
to the success Write-Warning "Test!" }
output stream. Test-Warning 3>&1
4> Sends verbose output to Import-Module * -Verbose 4> Verbose.txt
the specified file.
4>> Appends verbose output Import-Module * -Verbose 4>> Save-Verbose.txt
to the contents of the
specified file.
4>&1 Sends verbose output (4) Import-Module * -Verbose 4>&1
and success output (1)
to the success output
stream.
5> Sends debug messages to Write-Debug "Starting" 5> Debug.txt
the specified file.
5>> Appends debug messages Write-Debug "Saving" 5>> Save-Debug.txt
to the contents of the
specified file.
5>&1 Sends debug messages (5) function Test-Debug
and success output (1) { Get-Process PowerShell
to the success output Write-Debug "PS" }
stream. Test-Debug 5>&1
*> Sends all output types function Test-Output
to the specified file. { Get-Process PowerShell, none
Write-Warning "Test!"
*>> Appends all output types Write-Verbose "Test Verbose"
to the contents of the Write-Debug "Test Debug" }
specified file.
Test-Output *> Test-Output.txt
*>&1 Sends all output types Test-Output *>> Test-Output.txt
(*) to the success output Test-Output *>&1
stream.
Die Syntax der Umleitungsoperatoren lautet wie folgt:
<input> <operator> [<path>\]<file>
Wenn die angegebene Datei bereits vorhanden ist, überschreiben die Umleitungsoperatoren, die keine Daten anfügen (> und n>), ohne Warnung den aktuellen Inhalt der Datei. Wenn es sich jedoch um eine schreibgeschützte Datei, eine versteckte Datei oder eine Systemdatei handelt, schlägt die Umleitung fehl. Die Umleitungsoperatoren, die Daten anfügen (>> und n>>), schreiben nicht in eine schreibgeschützte Datei, fügen jedoch Inhalt an eine Systemdatei oder eine versteckte Datei an.
Um die Umleitung von Inhalt in eine schreibgeschützte Datei, eine versteckte Datei oder eine Systemdatei zu erzwingen, verwenden Sie das Out-File-Cmdlet mit dem Force-Parameter. Beim Schreiben in Dateien verwenden die Umleitungsoperatoren die Unicode-Codierung. Wenn die Datei eine andere Codierung aufweist, wird die Ausgabe möglicherweise nicht ordnungsgemäß formatiert. Zum Umleiten von Inhalt in Nicht-Unicode-Dateien verwenden Sie das Out-File-Cmdlet mit dem Encoding-Parameter.
SIEHE AUCH
Out-File
Tee-Object
about_Operators
about_Command_Syntax
about_Path_Syntax