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.
Type: | PSObject[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | 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.
Importante
Si è verificato un problema con questa opzione in Windows PowerShell che è stato risolto in PowerShell 6.2 e versioni successive. Quando si usa NoEnumerate e si usa in modo esplicito il parametro InputObject , il comando continua a enumerare. Per ovviare a questo problema, passare gli argomenti InputObject in modo posizionale.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Input
È possibile inviare tramite pipe oggetti a questo cmdlet.
Output
Questo cmdlet restituisce gli oggetti inviati come input.
Note
Windows PowerShell include gli alias seguenti per Write-Output
:
echo
write
Collegamenti correlati
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per