Condividi tramite


Write-Output

Scrive gli oggetti specificati nella pipeline.

Sintassi

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

Descrizione

Scrive gli oggetti specificati nella pipeline. Se Write-Output è l'ultimo comando nella pipeline, gli oggetti vengono visualizzati nella console.

Write-Output invia oggetti alla pipeline primaria, noto anche come flusso di operazione riuscita. Per inviare oggetti di errore al flusso di errori, usare Write-Error.

Questo cmdlet viene in genere usato negli script per visualizzare le stringhe e altri oggetti nella console. Uno degli alias predefiniti per Write-Output è echo e simile ad altre shell che usano echo. Il comportamento predefinito consiste nel visualizzare l'output alla fine di una pipeline. In PowerShell in genere non è necessario usare il cmdlet nelle istanze in cui l'output viene visualizzato per impostazione predefinita. Ad esempio, Get-Process | Write-Output equivale a Get-Process. In alternativa, echo "Home directory: $HOME" può essere scritto, "Home directory: $HOME".

Per impostazione predefinita, Write-Output enumera gli oggetti in una raccolta. Tuttavia, Write-Output può anche passare le raccolte alla pipeline come singolo oggetto con il parametro NoEnumerate .

Esempio

Esempio 1: Ottenere oggetti e scriverli nella console

In questo esempio i risultati del Get-Process cmdlet vengono archiviati nella $P variabile . Il Write-Output cmdlet visualizza gli oggetti processo nella $P console.

$P = Get-Process
Write-Output $P

Esempio 2: Passare l'output a un altro cmdlet

Questo comando invia tramite pipe la stringa "test output" al Get-Member cmdlet , che visualizza i membri della classe System.String , dimostrando che la stringa è stata passata lungo la pipeline.

Write-Output "test output" | Get-Member

Esempio 3: Eliminare l'enumerazione nell'output

Questo comando aggiunge il parametro NoEnumerate per considerare una raccolta o una matrice come un singolo oggetto tramite la pipeline.

Write-Output 1,2,3 | Measure-Object

Count    : 3
...

Write-Output 1,2,3 -NoEnumerate | Measure-Object

Count    : 1
...

Parametri

-InputObject

Specifica gli oggetti da inviare nella pipeline. Immettere una variabile che contiene gli oggetti oppure digitare un comando o un'espressione che ottiene gli oggetti.

Tipo:PSObject[]
Posizione:0
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-NoEnumerate

Per impostazione predefinita, il Write-Output cmdlet enumera sempre il relativo output. Il parametro NoEnumerate elimina il comportamento predefinito e impedisce Write-Output l'enumerazione dell'output. Il parametro NoEnumerate non ha alcun effetto se il comando viene racchiuso tra parentesi, perché l'enumerazione forza le parentesi. Ad esempio, (Write-Output 1,2,3) enumera ancora la matrice.

Il parametro NoEnumerate è utile solo all'interno di una pipeline. Il tentativo di visualizzare gli effetti di NoEnumerate nella console è problematico perché PowerShell aggiunge Out-Default alla fine di ogni riga di comando, che comporta l'enumerazione. Tuttavia, se si invia tramite pipe Write-Output -NoEnumerate a un altro cmdlet, il cmdlet downstream riceve l'oggetto raccolta, non gli elementi enumerati della raccolta.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

Input

PSObject

È possibile inviare tramite pipe oggetti a questo cmdlet.

Output

PSObject

Questo cmdlet restituisce gli oggetti inviati come input.

Note

PowerShell include gli alias seguenti per Write-Output:

  • Tutte le piattaforme:

    • echo
  • Windows:

    • write