Share via


Out-String

Génère des objets d’entrée sous forme de chaîne.

Syntax

Out-String
   [-Width <Int32>]
   [-NoNewline]
   [-InputObject <PSObject>]
   [<CommonParameters>]
Out-String
   [-Stream]
   [-Width <Int32>]
   [-InputObject <PSObject>]
   [<CommonParameters>]

Description

L’applet Out-String de commande convertit les objets d’entrée en chaînes. Par défaut, Out-String accumule les chaînes et les retourne sous la forme d’une chaîne unique, mais vous pouvez utiliser le paramètre Stream pour diriger Out-String pour retourner une ligne à la fois ou créer un tableau de chaînes. Cette applet de commande vous permet de rechercher et de manipuler la sortie de chaîne comme vous le feriez dans des interpréteurs de commandes traditionnels quand la manipulation des objets est moins pratique.

PowerShell ajoute également la OSS fonction qui appelle Out-String -Stream comme une méthode abrégée à utiliser Out-String dans un pipeline.

Exemples

Exemple 1 : Obtenir la culture actuelle et convertir les données en chaînes

Cet exemple obtient les paramètres régionaux de l’utilisateur actuel et convertit les données d’objet en chaînes.

$C = Get-Culture | Select-Object -Property *
Out-String -InputObject $C -Width 100

Parent                         : en
LCID                           : 1033
KeyboardLayoutId               : 1033
Name                           : en-US
IetfLanguageTag                : en-US
DisplayName                    : English (United States)
NativeName                     : English (United States)
EnglishName                    : English (United States)
TwoLetterISOLanguageName       : en
ThreeLetterISOLanguageName     : eng
ThreeLetterWindowsLanguageName : ENU
CompareInfo                    : CompareInfo - en-US
TextInfo                       : TextInfo - en-US
IsNeutralCulture               : False
CultureTypes                   : SpecificCultures, InstalledWin32Cultures, FrameworkCultures
NumberFormat                   : System.Globalization.NumberFormatInfo
DateTimeFormat                 : System.Globalization.DateTimeFormatInfo
Calendar                       : System.Globalization.GregorianCalendar
OptionalCalendars              : {System.Globalization.GregorianCalendar,
                                 System.Globalization.GregorianCalendar}
UseUserOverride                : True
IsReadOnly                     : False

La $C variable stocke un objet Selected.System.Globalization.CultureInfo . L’objet est le résultat de l’envoi de Get-Culture la sortie vers le bas du pipeline vers Select-Object. Le paramètre Property utilise un caractère générique astérisque (*) pour spécifier que toutes les propriétés sont contenues dans l’objet .

Out-String utilise le paramètre InputObject pour spécifier l’objet CultureInfo stocké dans la $C variable. Les objets dans $C sont convertis en chaîne.

Notes

Pour afficher le Out-String tableau, stockez la sortie dans une variable et utilisez un index de tableau pour afficher les éléments. Pour plus d’informations sur l’index de tableau, consultez about_Arrays.

$str = Out-String -InputObject $C -Width 100

Exemple 2 : Utilisation d’objets

Cet exemple illustre la différence entre l'utilisation d'objets et l'utilisation de chaînes. La commande affiche un alias qui inclut le texte gcm, l’alias pour Get-Command.

Get-Alias | Out-String -Stream | Select-String -Pattern "gcm"

Alias           gcm -> Get-Command

Get-Alias obtient les objets System.Management.Automation.AliasInfo , un pour chaque alias, et envoie les objets vers le bas du pipeline. Out-Stringutilise le paramètre Stream pour convertir chaque objet en chaîne au lieu de concaténer tous les objets en une seule chaîne. Les objets System.String sont envoyés dans le pipeline et Select-String utilisent le paramètre Pattern pour rechercher des correspondances pour le gcm de texte.

Notes

Si vous omettez le paramètre Stream, la commande affiche tous les alias, car Select-String recherche le texte gcm dans la chaîne unique retournéeOut-String.

Exemple 3 : utilisez le paramètre Width pour empêcher la troncation.

Bien que la plupart des sorties de Out-String soient encapsulées à la ligne suivante, il existe des scénarios où la sortie est tronquée par le système de mise en forme avant d’être passée à Out-String. Vous pouvez éviter la troncation à l’aide du paramètre Width .

PS> @{TestKey = ('x' * 200)} | Out-String
Name                           Value
----                           -----
TestKey                        xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...

PS> @{TestKey = ('x' * 200)} | Out-String -Width 250

Name                           Value
----                           -----
TestKey                        xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Paramètres

-InputObject

Spécifie les objets à écrire dans une chaîne. Entrez une variable contenant les objets, ou tapez une commande ou une expression qui obtient ces objets.

Type:PSObject
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-NoNewline

Supprime toutes les nouvelles lignes de la sortie générée par le formateur PowerShell. Les nouvelles lignes qui font partie des objets de chaîne sont conservées.

Ce paramètre a été introduit dans PowerShell 6.0.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Stream

Par défaut, génère une chaîne unique mise en forme comme vous le feriez dans la console, Out-String y compris les en-têtes vides ou les nouvelles lignes de fin. Le paramètre Stream permet Out-String de sortir chaque ligne une par une. La seule exception à cela est les chaînes multilignes. Dans ce cas, Out-String génère toujours la chaîne sous la forme d’une chaîne multiligne unique.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Width

Spécifie le nombre de caractères dans chaque ligne de la sortie. Tous les caractères supplémentaires sont encapsulés à la ligne suivante ou tronqués en fonction de l’applet de commande du formateur utilisée. Le paramètre Width s’applique uniquement aux objets en cours de mise en forme. Si vous omettez ce paramètre, la largeur est déterminée par les caractéristiques du programme hôte. Dans les fenêtres de terminal (console), la largeur de la fenêtre actuelle est utilisée comme valeur par défaut. Les fenêtres de la console PowerShell ont par défaut une largeur de 80 caractères lors de l’installation.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Entrées

PSObject

Vous pouvez diriger n’importe quel objet vers cette applet de commande.

Sorties

String

Cette applet de commande retourne la chaîne qu’elle crée à partir de l’objet d’entrée.

Notes

Les applets de commande qui contiennent le Out verbe ne mettez pas en forme les objets. Les Out applets de commande envoient des objets au formateur pour la destination d’affichage spécifiée.

PowerShell 7.2 a ajouté la possibilité de contrôler le rendu des séquences d’échappement ANSI. La sortie décorée ansI qui est passée à Out-String peut être modifiée en fonction du paramètre de la $PSStyle.OutputRendering propriété . Pour plus d’informations, consultez about_ANSI_Terminals.