Write-Output
Écrit les objets spécifiés dans le pipeline. Si Write-Output
est la dernière commande du pipeline, les objets sont affichés dans la console.
Syntax
Write-Output
[-InputObject] <PSObject[]>
[-NoEnumerate]
[<CommonParameters>]
Description
Écrit les objets spécifiés dans le pipeline. Si Write-Output
est la dernière commande du pipeline, les objets sont affichés dans la console.
Write-Output
envoie des objets au pipeline principal, également appelé « flux de sortie » ou « pipeline de réussite ». Pour envoyer des objets d’erreur au pipeline d’erreur, utilisez Write-Error
.
Cette applet de commande est généralement utilisée dans les scripts pour afficher les chaînes et autres objets sur la console. L’un des alias intégrés pour Write-Output
est echo
et similaire à d’autres interpréteurs de commandes qui utilisent echo
. Le comportement par défaut consiste à afficher la sortie à la fin d’un pipeline. Dans PowerShell, il n’est généralement pas nécessaire d’utiliser l’applet de commande dans les instances où la sortie est affichée par défaut. Par exemple, Get-Process | Write-Output
équivaut à Get-Process
. Ou, echo "Home directory: $HOME"
peut être écrit, "Home directory: $HOME"
.
Par défaut, Write-Output
énumère via des objets de collection. Toutefois, Write-Output
peut également être utilisé pour transmettre des collections dans le pipeline en tant qu’objet unique avec le paramètre NoEnumerate .
Exemples
Exemple 1 : Obtenir des objets et les écrire dans la console
Dans cet exemple, les résultats de l’applet Get-Process
de commande sont stockés dans la $P
variable . L’applet Write-Output
de commande affiche les objets de processus dans $P
la console.
$P = Get-Process
Write-Output $P
Exemple 2 : Passer la sortie à une autre applet de commande
Cette commande envoie la chaîne de « sortie de test » à l’applet Get-Member
de commande, qui affiche les membres de la classe System.String , ce qui montre que la chaîne a été transmise le long du pipeline.
Write-Output "test output" | Get-Member
Exemple 3 : Supprimer l’énumération en sortie
Cette commande ajoute le paramètre NoEnumerate pour traiter une collection ou un tableau comme un objet unique via le pipeline.
Write-Output 1,2,3 | Measure-Object
Count : 3
...
Write-Output 1,2,3 -NoEnumerate | Measure-Object
Count : 1
...
Paramètres
-InputObject
Spécifie les objets à envoyer dans le pipeline. Entrez une variable contenant les objets, ou tapez une commande ou une expression qui obtient ces objets.
Type: | PSObject[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-NoEnumerate
Par défaut, l’applet de Write-Output
commande énumère toujours sa sortie. Le paramètre NoEnumerate supprime le comportement par défaut et empêche Write-Output
l’énumération de la sortie. Le paramètre NoEnumerate n’a aucun effet si la commande est encapsulée entre parenthèses, car les parenthèses forcent l’énumération. Par exemple, (Write-Output 1,2,3)
énumère toujours le tableau.
Le paramètre NoEnumerate n’est utile que dans un pipeline. La tentative de voir les effets de NoEnumerate dans la console est problématique, car PowerShell ajoute Out-Default
à la fin de chaque ligne de commande, ce qui entraîne l’énumération. Mais si vous dirigez Write-Output -NoEnumerate
vers une autre applet de commande, l’applet de commande en aval reçoit l’objet de collection, et non les éléments énumérés de la collection.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Entrées
Vous pouvez diriger des objets vers Write-Output
.
Sorties
Write-Output
retourne les objets qui sont envoyés en tant qu’entrée.