Tee-Object
Hiermee slaat u de uitvoer van de opdracht op in een bestand of variabele en verzendt u deze ook naar beneden in de pijplijn.
Syntax
Tee-Object
[-InputObject <PSObject>]
[-FilePath] <String>
[-Append]
[[-Encoding] <Encoding>]
[<CommonParameters>]
Tee-Object
[-InputObject <PSObject>]
-LiteralPath <String>
[[-Encoding] <Encoding>]
[<CommonParameters>]
Tee-Object
[-InputObject <PSObject>]
-Variable <String>
[<CommonParameters>]
Description
De Tee-Object cmdlet omleidt uitvoer, dat wil gezegd, het verzendt de uitvoer van een opdracht in twee richtingen (zoals de letter T). De uitvoer wordt opgeslagen in een bestand of variabele en verzendt deze ook naar beneden in de pijplijn. Als Tee-Object dit de laatste opdracht in de pijplijn is, wordt de opdrachtuitvoer weergegeven bij de prompt.
Voorbeelden
Voorbeeld 1: Uitvoerprocessen naar een bestand en naar de console
In dit voorbeeld wordt een lijst weergegeven met de processen die op de computer worden uitgevoerd en wordt het resultaat naar een bestand verzonden. Omdat er geen tweede pad is opgegeven, worden de processen ook weergegeven in de console.
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
...
Voorbeeld 2: Uitvoerprocessen naar een variabele en Select-Object
In dit voorbeeld wordt een lijst weergegeven met de processen die op de computer worden uitgevoerd, worden deze opgeslagen in de $proc variabele en worden ze doorpijpt naar Select-Object.
Get-Process notepad | Tee-Object -Variable proc | Select-Object processname,handles
ProcessName Handles
----------- -------
notepad 43
notepad 37
notepad 38
notepad 38
De Select-Object cmdlet selecteert de eigenschappen ProcessName en Handles . Houd er rekening mee dat de $proc variabele de standaardgegevens bevat die worden geretourneerd door Get-Process.
Voorbeeld 3: Systeembestanden uitvoeren naar twee logboekbestanden
In dit voorbeeld wordt een lijst met systeembestanden opgeslagen in twee logboekbestanden, een cumulatief bestand en een huidig bestand.
Get-ChildItem -Path D: -File -System -Recurse |
Tee-Object -FilePath "c:\test\AllSystemFiles.txt" -Append |
Out-File c:\test\NewSystemFiles.txt
De opdracht gebruikt de Get-ChildItem cmdlet om recursief te zoeken naar systeembestanden op het station D: . Een pijplijnoperator (|) verzendt de lijst naar Tee-Object, waarmee de lijst wordt toegevoegd aan het AllSystemFiles.txt-bestand en de lijst wordt doorgegeven aan de Out-File cmdlet, waarmee de lijst wordt opgeslagen in de NewSystemFiles.txt file.
Parameters
Geeft aan dat de cmdlet de uitvoer toevoegt aan het opgegeven bestand. Zonder deze parameter vervangt de nieuwe inhoud alle bestaande inhoud in het bestand zonder waarschuwing.
Deze parameter is geïntroduceerd in Windows PowerShell 3.0.
| Type: | SwitchParameter |
| Position: | Named |
| Default value: | False |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Hiermee geeft u het type codering voor het doelbestand. De standaardwaarde is utf8NoBOM.
De acceptabele waarden voor deze parameter zijn als volgt:
ascii: gebruikt de codering voor de ASCII-tekenset (7-bits).bigendianunicode: Codeert in UTF-16-indeling met de bytevolgorde big-endian.oem: gebruikt de standaardcodering voor MS-DOS en consoleprogramma's.unicode: Codeert in UTF-16-indeling met behulp van de bytevolgorde little-endian.utf7: Codeert in UTF-7-indeling.utf8: Codeert in UTF-8-indeling.utf8BOM: Codeert in UTF-8-indeling met Byte Order Mark (BOM)utf8NoBOM: Codeert in UTF-8-indeling zonder Byte Order Mark (BOM)utf32: Codeert in UTF-32-indeling.
Vanaf PowerShell 6.2 staat de coderingsparameter ook numerieke id's toe van geregistreerde codepagina's (zoals -Encoding 1251) of tekenreeksnamen van geregistreerde codepagina's (zoals -Encoding "windows-1251"). Zie de .NET-documentatie voor Encoding.CodePage voor meer informatie.
Deze parameter is geïntroduceerd in PowerShell 7.2.
Notitie
UTF-7* wordt niet meer aanbevolen om te gebruiken. Vanaf PowerShell 7.1 wordt een waarschuwing geschreven als u opgeeft utf7 voor de coderingsparameter .
| Type: | Encoding |
| Accepted values: | ASCII, BigEndianUnicode, OEM, Unicode, UTF7, UTF8, UTF8BOM, UTF8NoBOM, UTF32 |
| Position: | 1 |
| Default value: | UTF8NoBOM |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Hiermee geeft u een bestand op dat met deze cmdlet het object wordt opgeslagen in jokertekens, maar moet het worden omgezet in één bestand.
| Type: | String |
| Aliases: | Path |
| Position: | 0 |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | True |
Hiermee geeft u het object op dat moet worden opgeslagen en weergegeven. Voer een variabele in die de objecten bevat of typ een opdracht of expressie waarmee de objecten worden opgehaald. U kunt ook een object doorsluisen naar Tee-Object.
Wanneer u de parameter InputObject gebruikt met Tee-Object, in plaats van de resultaten van de opdracht piping Tee-Object, wordt de InputObject-waarde beschouwd als één object, zelfs als de waarde een verzameling is.
| Type: | PSObject |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | True |
| Accept wildcard characters: | False |
Hiermee geeft u een bestand op waarnaar deze cmdlet het object opslaat. In tegenstelling tot FilePath wordt de waarde van de Parameter LiteralPath precies gebruikt zoals deze is getypt. Er worden geen tekens geïnterpreteerd als jokertekens. Als het pad escapetekens bevat, plaatst u het tussen enkele aanhalingstekens. Enkele aanhalingstekens geven PowerShell aan dat u geen tekens als escape-reeksen interpreteert.
| Type: | String |
| Aliases: | PSPath, LP |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Hiermee geeft u een variabele op waarnaar de cmdlet het object opslaat. Voer een variabelenaam in zonder het voorgaande dollarteken ($).
| Type: | String |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Invoerwaarden
U kunt objecten doorsluisen naar Tee-Object.
Uitvoerwaarden
Tee-Object retourneert het object dat wordt omgeleid.
Notities
U kunt ook de Out-File cmdlet of de omleidingsoperator gebruiken, die beide de uitvoer in een bestand opslaan, maar deze niet naar de pijplijn verzenden.
Vanaf PowerShell 6 gebruikt Tee-Object u BOM-less UTF-8-codering wanneer deze naar bestanden schrijft. Als u een andere codering nodig hebt, gebruikt u de Out-File cmdlet met de parameter Encoding .
Verwante koppelingen
Feedback
Feedback verzenden en weergeven voor