Dela via


Tee-Object

Sparar kommandoutdata i en fil eller variabel och skickar den även nedåt i pipelinen.

Syntax

File (Standard)

Tee-Object
    [-FilePath] <String>
    [-InputObject <PSObject>]
    [-Append]
    [<CommonParameters>]

LiteralFile

Tee-Object
    -LiteralPath <String>
    [-InputObject <PSObject>]
    [<CommonParameters>]

Variable

Tee-Object
    -Variable <String>
    [-InputObject <PSObject>]
    [<CommonParameters>]

Description

Den Tee-Object cmdleten omdirigerar utdata, det vill: den skickar utdata från ett kommando i två riktningar (till exempel bokstaven T). Den lagrar utdata i en fil eller variabel och skickar den även nedåt i pipelinen. Om Tee-Object är det sista kommandot i pipelinen visas kommandoutdata i kommandotolken.

Exempel

Exempel 1: Utdataprocesser till en fil och till konsolen

Det här exemplet hämtar en lista över de processer som körs på datorn och skickar resultatet till en fil. Eftersom en andra sökväg inte har angetts visas även processerna i konsolen.

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
...

Exempel 2: Utdataprocesser till en variabel och "Select-Object"

Det här exemplet hämtar en lista över de processer som körs på datorn, sparar dem i variabeln $proc och skickar dem till Select-Object.

Get-Process notepad | Tee-Object -Variable proc | Select-Object processname,handles
ProcessName                              Handles
-----------                              -------
notepad                                  43
notepad                                  37
notepad                                  38
notepad                                  38

Cmdleten Select-Object väljer egenskaperna ProcessName och Handles. Observera att variabeln $proc innehåller standardinformationen som returneras av Get-Process.

Exempel 3: Mata ut systemfiler till två loggfiler

I det här exemplet sparas en lista över systemfiler i två loggfiler, en kumulativ fil och en aktuell fil.

Get-ChildItem -Path D: -File -System -Recurse |
  Tee-Object -FilePath "c:\test\AllSystemFiles.txt" -Append |
    Out-File c:\test\NewSystemFiles.txt

Kommandot använder cmdleten Get-ChildItem för att göra en rekursiv sökning efter systemfiler på D:-enheten. En pipelineoperator (|) skickar listan till Tee-Object, som lägger till listan i AllSystemFiles.txt-filen och skickar listan nedåt i pipelinen till cmdleten Out-File, vilket sparar listan i NewSystemFiles.txt file.

Parametrar

-Append

Anger att cmdleten lägger till utdata till den angivna filen. Utan den här parametern ersätter det nya innehållet befintligt innehåll i filen utan varning.

Den här parametern introducerades i Windows PowerShell 3.0.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:False
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

File
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-FilePath

Anger en fil som den här cmdleten sparar objektet till Jokertecken tillåts, men måste matcha till en enda fil.

Parameteregenskaper

Typ:String
Standardvärde:None
Stöder jokertecken:True
DontShow:False
Alias:Väg

Parameteruppsättningar

File
Position:0
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-InputObject

Anger det objekt som ska sparas och visas. Ange en variabel som innehåller objekten eller skriv ett kommando eller uttryck som hämtar objekten. Du kan också skicka ett objekt till Tee-Object.

När du använder parametern InputObject med Tee-Object, i stället för att skicka kommandoresultat till Tee-Object, behandlas värdet InputObject som ett enda objekt även om värdet är en samling.

Parameteregenskaper

Typ:PSObject
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:True
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-LiteralPath

Anger en fil som den här cmdleten sparar objektet till. Till skillnad från FilePathanvänds värdet för parametern LiteralPath precis som det skrivs. Inga tecken tolkas som wildcards. Om sökvägen innehåller escape-tecken omger du den med enkla citattecken. Enkla citattecken gör att PowerShell inte tolkar några tecken som escape-sekvenser.

Parameteregenskaper

Typ:String
Standardvärde:None
Stöder jokertecken:False
DontShow:False
Alias:PSPath, SP

Parameteruppsättningar

LiteralFile
Position:Named
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Variable

Anger en variabel som cmdleten sparar objektet till. Ange ett variabelnamn utan föregående dollartecken ($).

Parameteregenskaper

Typ:String
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

Variable
Position:Named
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

CommonParameters

Den här cmdleten stöder vanliga parametrar: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction och -WarningVariable. Mer information finns i about_CommonParameters.

Indata

PSObject

Du kan skicka objekt till Tee-Object.

Utdata

PSObject

Tee-Object Returnerar det objekt som det omdirigerar.

Kommentarer

Du kan också använda cmdleten Out-File eller omdirigeringsoperatorn, som båda sparar utdata i en fil men inte skickar dem i pipelinen.

Från och med PowerShell 6 använder Tee-Object BOM-mindre UTF-8-kodning när den skriver till filer. Om du behöver en annan kodning använder du cmdleten Out-File med parametern Kodning.