Out-String

Voert invoerobjecten uit als een tekenreeks.

Syntax

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

Description

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

PowerShell voegt ook de OSS functie toe die wordt aangeroepen Out-String -Stream als een verkorte manier om in een pijplijn te gebruiken Out-String .

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

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

Out-String gebruikt de parameter InputObject om het CultureInfo-object 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 naar 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 objecten System.Management.Automation.AliasInfo op, één voor elke alias en verzendt de objecten omlaag in de pijplijn. Out-String gebruikt de Stream-parameter om elk object te converteren naar een tekenreeks in plaats van alle objecten samen te voegen in één tekenreeks. De System.String-objecten worden naar de pijplijn verzonden en Select-String gebruikt de parameter Pattern om overeenkomsten voor de tekst gcm te vinden.

Notitie

Als u de Stream-parameter 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 Breedte om afkapping te voorkomen.

Hoewel de meeste uitvoer wordt Out-String 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 afkappen 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

-Stream

Out-String Standaard wordt één tekenreeks uitgevoerd die is opgemaakt zoals u deze zou zien in de console, inclusief lege headers of nieuwe regels. Met de Stream-parameter kunt Out-String u elke regel één voor één uitvoeren. De enige uitzondering hierop zijn tekenreeksen met meerdere regels. In dat geval Out-String wordt de tekenreeks nog steeds uitgevoerd 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 op elke regel van uitvoer. Eventuele extra tekens worden verpakt naar de volgende regel of afgekapt, afhankelijk van de gebruikte formatter-cmdlet. 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 (console) wordt de huidige breedte van het venster gebruikt als de standaardwaarde. PowerShell-consolevensters zijn standaard ingesteld op een breedte van 80 tekens tijdens de installatie.

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

Invoerwaarden

PSObject

U kunt elk object doorsluisen naar deze cmdlet.

Uitvoerwaarden

String

Deze cmdlet retourneert de tekenreeks die wordt gemaakt op basis van het invoerobject.

Notities

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