Tee-Object
Speichert die Befehlsausgabe in einer Datei oder Variable und sendet sie auch an die Pipeline.
Syntax
Tee-Object
[-InputObject <PSObject>]
[-FilePath] <String>
[-Append]
[<CommonParameters>]
Tee-Object
[-InputObject <PSObject>]
-LiteralPath <String>
[<CommonParameters>]
Tee-Object
[-InputObject <PSObject>]
-Variable <String>
[<CommonParameters>]
Beschreibung
Das Tee-Object
Cmdlet leitet die Ausgabe um, d. h. die Ausgabe eines Befehls in zwei Richtungen (z. B. den Buchstaben T). Sie speichert die Ausgabe in einer Datei oder Variable und sendet sie auch an die Pipeline. Wenn Tee-Object
der letzte Befehl in der Pipeline ist, wird die Befehlsausgabe an der Eingabeaufforderung angezeigt.
Beispiele
Beispiel 1: Ausgabeprozesse in eine Datei und an die Konsole
In diesem Beispiel wird eine Liste der prozesse, die auf dem Computer ausgeführt werden, und das Ergebnis wird an eine Datei gesendet. Da kein zweiter Pfad angegeben ist, werden die Prozesse auch in der Konsole angezeigt.
Get-Process | Tee-Object -FilePath "C:\Test1\testfile2.txt"
Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
------- ------ ----- ----- ----- ------ -- -----------
83 4 2300 4520 39 0.30 4032 00THotkey
272 6 1400 3944 34 0.06 3088 alg
81 3 804 3284 21 2.45 148 ApntEx
81 4 2008 5808 38 0.75 3684 Apoint
...
Beispiel 2: Ausgabeprozesse an eine Variable und "Select-Object"
In diesem Beispiel wird eine Liste der Prozesse, die auf dem Computer ausgeführt werden, in der $proc
Variablen gespeichert und in Select-Object
rohrt.
Get-Process notepad | Tee-Object -Variable proc | Select-Object ProcessName, Handles
ProcessName Handles
----------- -------
notepad 43
notepad 37
notepad 38
notepad 38
Das cmdlet Select-Object
wählt die ProcessName- und Behandelt Eigenschaften aus. Beachten Sie, dass die $proc
Variable die Standardinformationen enthält, die von Get-Process
zurückgegeben werden.
Beispiel 3: Ausgabesystemdateien in zwei Protokolldateien
In diesem Beispiel wird eine Liste von Systemdateien in zwei Protokolldateien, einer kumulativen Datei und einer aktuellen Datei gespeichert.
Get-ChildItem -Path D: -File -System -Recurse |
Tee-Object -FilePath "C:\test\AllSystemFiles.txt" -Append |
Out-File C:\test\NewSystemFiles.txt
Der Befehl verwendet das Cmdlet Get-ChildItem
, um eine rekursive Suche nach Systemdateien auf dem Laufwerk D: durchzuführen. Ein Pipelineoperator (|
) sendet die Liste an Tee-Object
, die die Liste an die AllSystemFiles.txt Datei angibt und die Liste an das Cmdlet Out-File
weitergibt, wodurch die Liste in der NewSystemFiles.txt file
gespeichert wird.
Parameter
-Append
Gibt an, dass das Cmdlet die Ausgabe an die angegebene Datei angibt. Ohne diesen Parameter ersetzt der neue Inhalt vorhandene Inhalte in der Datei ohne Warnung.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | False |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-FilePath
Gibt eine Datei an, die das Objekt in Wildcardzeichen speichert, ist zulässig, muss jedoch in eine einzelne Datei aufgelöst werden.
Typ: | String |
Position: | 0 |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | True |
-InputObject
Gibt das objekt an, das gespeichert und angezeigt werden soll. Geben Sie eine Variable ein, die die Objekte enthält, oder geben Sie einen Befehl oder Ausdruck ein, der die Objekte abruft. Sie können ein Objekt auch an Tee-Object
pfeifen.
Wenn Sie den InputObject Parameter mit Tee-Object
verwenden, anstatt Befehlsergebnisse an Tee-Object
zu übergeben, wird der InputObject-wert als einzelnes Objekt behandelt, auch wenn der Wert eine Auflistung ist.
Typ: | PSObject |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-LiteralPath
Gibt eine Datei an, in der dieses Cmdlet das Objekt speichert. Im Gegensatz zu FilePath-wird der Wert des LiteralPath--Parameters genau so verwendet, wie er eingegeben wird. Es werden keine Zeichen als Wildcards interpretiert. Wenn der Pfad Escapezeichen enthält, schließen Sie ihn in einfache Anführungszeichen ein. Einfache Anführungszeichen weisen PowerShell an, keine Zeichen als Escapesequenzen zu interpretieren.
Typ: | String |
Aliase: | PSPath |
Position: | Named |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Variable
Gibt eine Variable an, in der das Cmdlet das Objekt speichert. Geben Sie einen Variablennamen ohne das vorangehende Dollarzeichen ($
) ein.
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
Eingaben
Sie können Objekte an dieses Cmdlet weiterleiten.
Ausgaben
Dieses Cmdlet gibt das Objekt zurück, das es umleitet.
Hinweise
Windows PowerShell enthält die folgenden Aliase für Tee-Object
:
tee
Sie können auch das Cmdlet Out-File
oder den Umleitungsoperator verwenden, von denen beide die Ausgabe in einer Datei speichern, aber nicht an die Pipeline senden.
Tee-Object
verwendet beim Schreiben in Dateien die Codierung "Unicode" (UTF-16LE). Wenn Sie eine andere Codierung benötigen, verwenden Sie das cmdlet Out-File
mit dem parameter Encoding.