Delen via


Out-String

Voert invoerobjecten uit als een tekenreeks.

Syntax

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

Description

De Out-String cmdlet converteert invoerobjecten naar tekenreeksen. Standaard worden Out-String de tekenreeksen verzameld en geretourneerd als één tekenreeks, maar u kunt de parameter Stream gebruiken om Out-String één regel tegelijk te retourneren of een matrix met tekenreeksen te maken. Met deze cmdlet kunt u de uitvoer van tekenreeksen zoeken en bewerken, net zoals in traditionele shells wanneer objectmanipulatie minder handig is.

Voorbeelden

Voorbeeld 1: De huidige cultuur ophalen en de gegevens converteren naar tekenreeksen

In dit voorbeeld worden de landinstellingen voor de huidige gebruiker opgehaald en worden de objectgegevens geconverteerd naar tekenreeksen.

$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

Met de $C variabele wordt een Selected.System.Globalization.CultureInfo-object opgeslagen. Het -object is het resultaat van het verzenden van Get-Culture uitvoer van de pijplijn naar Select-Object. De parameter Eigenschap maakt gebruik van een sterretje (*) jokerteken om alle eigenschappen op te geven die zich in het object bevinden.

Out-String gebruikt de parameter InputObject om het object CultureInfo op te geven dat is opgeslagen in de $C variabele. De objecten in $C worden geconverteerd naar een tekenreeks.

Notitie

Als u de Out-String matrix wilt weergeven, slaat u de uitvoer op in een variabele en gebruikt u een matrixindex om de elementen weer te geven. Zie about_Arrays voor meer informatie over de matrixindex.

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

Voorbeeld 2: Werken met objecten

In dit voorbeeld ziet u het verschil tussen het werken met objecten en het werken met tekenreeksen. Met de opdracht wordt een alias weergegeven die de tekst gcm bevat, de alias voor Get-Command.

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

Alias           gcm -> Get-Command

Get-Alias haalt de System.Management.Automation.AliasInfo-objecten op, één voor elke alias, en verzendt de objecten naar beneden in de pijplijn. Out-Stringgebruikt de parameter Stream om elk object te converteren naar een tekenreeks in plaats van alle objecten samen te voegen in één tekenreeks. De System.String-objecten worden door de pijplijn verzonden en Select-String gebruiken de parameter Pattern om overeenkomsten voor de tekst gcm te vinden.

Notitie

Als u de parameter Stream weglaat, worden met de opdracht alle aliassen weergegeven omdat Select-String de tekst gcm wordt gevonden in de enkele tekenreeks die Out-String wordt geretourneerd.

Voorbeeld 3: gebruik de parameter Width om afkapping te voorkomen.

Hoewel de meeste uitvoer van Out-String wordt verpakt naar de volgende regel, zijn er scenario's waarin de uitvoer wordt afgekapt door het opmaaksysteem voordat deze wordt doorgegeven aan Out-String. U kunt afkapping voorkomen met behulp van de parameter 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

Parameters

-InputObject

Hiermee geeft u de objecten die naar een tekenreeks moeten worden geschreven. Voer een variabele in die de objecten bevat of typ een opdracht of expressie waarmee de objecten worden opgehaald.

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

-NoNewline

Hiermee verwijdert u alle nieuwe regels uit de uitvoer die is gegenereerd door de PowerShell-formatter. Nieuwe regels die deel uitmaken van de tekenreeksobjecten blijven behouden.

Deze parameter is geïntroduceerd in PowerShell 6.0.

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

-Stream

Standaard wordt één tekenreeks uitgevoerd die is opgemaakt zoals u deze in de console zou zien, Out-String inclusief eventuele lege kopteksten of afsluitende nieuwe regels. Met de parameter Stream kunt u Out-String elke regel één voor één uitvoeren. De enige uitzondering hierop zijn tekenreeksen met meerdere regels. In dat geval Out-String voert de tekenreeks nog steeds uit als één tekenreeks met meerdere regels.

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

-Width

Hiermee geeft u het aantal tekens in elke regel van uitvoer. Eventuele extra tekens worden verpakt naar de volgende regel of afgekapt, afhankelijk van de gebruikte cmdlet voor de opmaak. De parameter Width is alleen van toepassing op objecten die worden opgemaakt. Als u deze parameter weglaat, wordt de breedte bepaald door de kenmerken van het hostprogramma. In terminalvensters (consolevensters) wordt de huidige vensterbreedte gebruikt als de standaardwaarde. PowerShell-consolevensters hebben bij de installatie standaard een breedte van 80 tekens.

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

Invoerwaarden

PSObject

U kunt objecten in de pijplijn verzenden naar Out-String.

Uitvoerwaarden

String

Out-String retourneert de tekenreeks die wordt gemaakt op basis van het invoerobject.

Notities

De cmdlets die de Out werkwoord bevatten, maken geen objecten op. De Out cmdlets verzenden objecten naar de formatter voor de opgegeven weergavebestemming.