Write-Output
Écrit les objets spécifiés dans le pipeline.
Syntaxe
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 primaire, également connu sous le nom de flux de réussite. Pour envoyer des objets d’erreur au flux d’erreurs, utilisez Write-Error
.
Cette applet de commande est généralement utilisée dans les scripts pour afficher des chaînes et d’autres objets sur la console. L'un des alias intégrés pour Write-Output
est echo
et similaire à d'autres interpréteurs de commande 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 cas où la sortie est affichée par défaut. Par exemple, Get-Process | Write-Output
équivaut à Get-Process
. Ou encore, echo "Home directory: $HOME"
peut être écrit "Home directory: $HOME"
.
Par défaut, Write-Output
énumère les objets d’une collection. Cependant, Write-Output
peut également transmettre les collections dans le pipeline en tant qu'objet unique à l'aide du paramètre NoEnumerate.
Exemples
Exemple 1 : Obtenir des objets et les écrire dans la console
Dans cet exemple, les résultats de l’applet de commande Get-Process
sont stockés dans la variable $P
. L’applet de commande Write-Output
affiche les objets de processus dans $P
dans la console.
$P = Get-Process
Write-Output $P
Exemple 2 : Passer la sortie à une autre applet de commande
Cette commande transmet la chaîne « test output » à l’applet de commande Get-Member
, 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 dans la 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 qui contient les objets, ou tapez une commande ou une expression qui obtient les objets.
Type: | PSObject[] |
Position: | 0 |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | False |
-NoEnumerate
Par défaut, l’applet de commande Write-Output
énumère toujours sa sortie. Le paramètre NoEnumerate supprime le comportement par défaut et empêche Write-Output
d’énumérer 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 -NoEnumerate)
énumère toujours le tableau.
Le paramètre NoEnumerate n’est utile qu’au sein d’un pipeline. Essayer 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. Toutefois, 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 |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
Entrées
Vous pouvez diriger des objets vers cette applet de commande.
Sorties
Cette applet de commande retourne les objets envoyés en tant qu’entrée.
Notes
PowerShell inclut les alias suivants pour Write-Output
:
Toutes les plateformes :
echo
Windows:
write