Compartir a través de


Tee-Object

Guarda la salida del comando en un archivo o variable y también la envía a la canalización.

Sintaxis

File (valor predeterminado)

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

El cmdlet Tee-Object redirige la salida, es decir, envía la salida de un comando en dos direcciones (como la letra T). Almacena la salida en un archivo o variable y también la envía a la canalización. Si tee-Object es el último comando de la canalización, la salida del comando se muestra en el símbolo del sistema.

Ejemplos

Ejemplo 1: Salida de procesos en un archivo y en la consola

PS C:\> 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
...

Este comando obtiene una lista de los procesos que se ejecutan en el equipo y envía el resultado a un archivo. Dado que no se especifica una segunda ruta de acceso, los procesos también se muestran en la consola.

Ejemplo 2: Procesos de salida en una variable y Select-Object

PS C:\> Get-Process notepad | Tee-Object -Variable proc | Select-Object processname,handles
ProcessName                              Handles
-----------                              -------
notepad                                  43
notepad                                  37
notepad                                  38
notepad                                  38

Este comando obtiene una lista de los procesos que se ejecutan en el equipo y envía el resultado a una variable denominada proc. A continuación, canaliza los objetos resultantes a lo largo de Select-Object, que selecciona la propiedad ProcessName y Handles. Tenga en cuenta que la variable $proc incluye la información predeterminada devuelta por Get-Process.

Ejemplo 3: Salida de archivos del sistema a dos archivos de registro

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

Este comando guarda una lista de archivos del sistema en dos archivos de registro, un archivo acumulativo y un archivo actual.

El comando usa el cmdlet Get-ChildItem para realizar una búsqueda recursiva de archivos del sistema en la unidad D: . Un operador de canalización (|) envía la lista a tee-Object , que anexa la lista al archivo AllSystemFiles.txt y pasa la lista por la canalización al cmdlet Out-File, que guarda la lista en el archivo NewSystemFiles.txt.

Parámetros

-Append

Indica que el cmdlet anexa la salida al archivo especificado. Sin este parámetro, el nuevo contenido reemplaza cualquier contenido existente en el archivo sin advertencia.

Este parámetro se introdujo en Windows PowerShell 3.0.

Propiedades de parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

File
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-FilePath

Especifica un archivo que este cmdlet guarda el objeto en caracteres comodín, pero debe resolverse en un único archivo.

Propiedades de parámetro

Tipo:String
Valor predeterminado:None
Admite caracteres comodín:True
DontShow:False

Conjuntos de parámetros

File
Posición:0
Obligatorio:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-InputObject

Especifica el objeto que se va a guardar y mostrar. Escriba una variable que contenga los objetos o escriba un comando o expresión que obtenga los objetos. También puede canalizar un objeto a de objeto Tee.

Cuando se usa el parámetro InputObject con Objeto Tee, en lugar de canalizar los resultados del comando para de objetos Tee, el InputObject valor, incluso si el valor es una colección que es el resultado de un comando, como InputObject (Get-Process), se trata como un solo objeto. Dado que inputObject no puede devolver propiedades individuales de una matriz o colección de objetos, se recomienda que si usa tee-Object para realizar operaciones en una colección de objetos para esos objetos que tienen valores específicos en propiedades definidas, se usa Tee-Object en la canalización, como se muestra en los ejemplos de este tema.

Propiedades de parámetro

Tipo:PSObject
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:True
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-LiteralPath

Especifica un archivo en el que este cmdlet guarda el objeto. A diferencia de FilePath, el valor del parámetro LiteralPath se usa exactamente como se escribe. Ninguno de los caracteres se interpreta como caracteres comodín. Si la ruta de acceso incluye caracteres de escape, escríbala entre comillas simples. Las comillas simples indican a PowerShell que no interprete ningún carácter como secuencias de escape.

Propiedades de parámetro

Tipo:String
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False
Alias:PSPath

Conjuntos de parámetros

LiteralFile
Posición:Named
Obligatorio:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Variable

Especifica una variable en la que el cmdlet guarda el objeto. Escriba un nombre de variable sin el signo de dólar anterior ($).

Propiedades de parámetro

Tipo:String
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

Variable
Posición:Named
Obligatorio:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

CommonParameters

Este cmdlet admite los parámetros comunes: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction y -WarningVariable. Para obtener más información, vea about_CommonParameters.

Entradas

PSObject

Puede canalizar objetos a de objeto Tee.

Salidas

PSObject

tee-Object devuelve el objeto que redirige.

Notas

  • También puede usar el cmdlet Out-File o el operador de redirección, ambos que guardan la salida en un archivo, pero no lo envían a la canalización.
  • tee-Object usa la codificación Unicode cuando escribe en archivos. Como resultado, es posible que la salida no tenga el formato correcto en los archivos con una codificación diferente. Para especificar la codificación, use el cmdlet Out-File.