Compartir vía


Write-Output

Escribe los objetos especificados en la canalización.

Sintaxis

Default (Es el valor predeterminado).

Write-Output
    [-InputObject] <PSObject[]>
    [-NoEnumerate]
    [<CommonParameters>]

Description

Escribe los objetos especificados en la canalización. Si Write-Output es el último comando de la canalización, los objetos se muestran en la consola.

Write-Output envía objetos a la canalización principal, también conocida como flujo de éxito . Para enviar objetos de error al flujo de errores, use Write-Error.

Este cmdlet se usa normalmente en scripts para mostrar cadenas y otros objetos en la consola. Uno de los alias integrados para Write-Output es echo y es similar a los de otros shells que usan echo. El comportamiento predeterminado es mostrar la salida al final de una canalización. En PowerShell, generalmente no es necesario usar el cmdlet en instancias en las que se muestra la salida de forma predeterminada. Por ejemplo, Get-Process | Write-Output equivale a Get-Process. O, echo "Home directory: $HOME" se puede escribir, "Home directory: $HOME".

De forma predeterminada, Write-Output enumera los objetos de una colección. Sin embargo, Write-Output también puede pasar colecciones por la tubería como un solo objeto utilizando el parámetro NoEnumerate.

Ejemplos

Ejemplo 1: Obtener objetos y escribirlos en la consola

En este ejemplo, los resultados del cmdlet Get-Process se almacenan en la variable $P. El cmdlet Write-Output muestra los objetos de proceso en $P a la consola.

$P = Get-Process
Write-Output $P

Ejemplo 2: Pasar la salida a otro cmdlet

Este comando canaliza la cadena "test output" a la Get-Member cmdlet, que muestra los miembros de la clase System.String , demostrando que la cadena se pasó a lo largo de la canalización.

Write-Output "test output" | Get-Member

Ejemplo 3: Suprimir la enumeración en la salida

Este comando agrega el parámetro NoEnumerate para tratar una colección o matriz como un único objeto a través de la tubería.

Write-Output 1,2,3 | Measure-Object
Count    : 3
...
Write-Output 1,2,3 -NoEnumerate | Measure-Object
Count    : 1
...

Parámetros

-InputObject

Especifica los objetos que se van a enviar a la canalización. Escriba una variable que contenga los objetos, o escriba un comando o expresión que obtenga los objetos.

Propiedades del parámetro

Tipo:

PSObject[]

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

Conjuntos de parámetros

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

-NoEnumerate

De forma predeterminada, el cmdlet Write-Output siempre enumera su salida. El parámetro NoEnumerate suprime el comportamiento predeterminado y evita que Write-Output enumere la salida. El parámetro NoEnumerate no tiene ningún efecto si el comando está encapsulado entre paréntesis, porque los paréntesis fuerzan la enumeración. Por ejemplo, (Write-Output 1,2,3 -NoEnumerate) todavía enumera la matriz.

El parámetro noEnumerate solo es útil dentro de una canalización. Intentar ver los efectos de noEnumerate en la consola es problemático porque PowerShell agrega Out-Default al final de cada línea de comandos, lo que da como resultado la enumeración. Pero si canaliza Write-Output -NoEnumerate a otro cmdlet, el cmdlet de nivel inferior recibe el objeto de colección, no los elementos enumerados de la colección.

Propiedades del parámetro

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

Conjuntos de parámetros

(All)
Posición:Named
Mandatory:False
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 este cmdlet.

Salidas

PSObject

Este cmdlet devuelve los objetos que se envían como entrada.

Notas

PowerShell incluye los siguientes alias para Write-Output:

  • Todas las plataformas:

    • echo
  • Windows:

    • write