Partager via


Out-String

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

Syntaxe

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 forme de 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 moyen abrégé d’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 toutes les propriétés contenues dans l’objet.

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

Remarque

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-String utilise le paramètre Stream pour convertir chaque objet en chaîne plutôt que 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.

Remarque

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

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

Même si la plupart des sorties sont Out-String encapsulées à la ligne suivante, il existe des scénarios dans lesquels 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
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-Stream

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

Type:SwitchParameter
Position:Named
Valeur par défaut:False
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques: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 mis 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 console PowerShell ont la valeur par défaut sur une largeur de 80 caractères lors de l’installation.

Type:Int32
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

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.