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.
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-String
utilise 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
Vous pouvez envoyer des objets vers le bas du pipeline vers Out-String
.
Sorties
Out-String
retourne la chaîne qu’il 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.