Out-String

Matar ut indataobjekt som en sträng.

Syntax

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

Description

Cmdleten Out-String konverterar indataobjekt till strängar. Som standard Out-String ackumuleras strängarna och returnerar dem som en enda sträng, men du kan använda Stream-parametern för att dirigera Out-String för att returnera en rad i taget eller skapa och matris med strängar. Med den här cmdleten kan du söka efter och ändra strängutdata på samma sätt som i traditionella gränssnitt när objektmanipulering är mindre praktiskt.

Exempel

Exempel 1: Hämta den aktuella kulturen och konvertera data till strängar

Det här exemplet hämtar de regionala inställningarna för den aktuella användaren och konverterar objektdata till strängar.

$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

Variabeln $C lagrar ett Selected.System.Globalization.CultureInfo-objekt . Objektet är resultatet av Get-Culture att skicka utdata från pipelinen till Select-Object. Egenskapsparametern använder ett asterisk* () jokertecken för att ange att alla egenskaper finns i objektet.

Out-String använder parametern InputObject för att ange CultureInfo-objektet som lagras i variabeln $C . Objekten i $C konverteras till en sträng.

Anteckning

Om du vill visa matrisen Out-String lagrar du utdata till en variabel och använder ett matrisindex för att visa elementen. Mer information om matrisindexet finns i about_Arrays.

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

Exempel 2: Arbeta med objekt

Det här exemplet visar skillnaden mellan att arbeta med objekt och att arbeta med strängar. Kommandot visar ett alias som innehåller texten gcm, aliaset för Get-Command.

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

Alias           gcm -> Get-Command

Get-Alias hämtar Objekten System.Management.Automation.AliasInfo , ett för varje alias, och skickar objekten nedåt i pipelinen. Out-String använder Stream-parametern för att konvertera varje objekt till en sträng som i stället sammanfogar alla objekt till en enda sträng. System.String-objekten skickas ned i pipelinen och Select-String använder parametern Pattern för att hitta matchningar för texten gcm.

Anteckning

Om du utelämnar Stream-parametern visar kommandot alla alias eftersom Select-String hittar texten gcm i den enda sträng som Out-String returneras.

Exempel 3: Använd parametern Width för att förhindra trunkering.

Även om de flesta utdata från Out-String omsluts till nästa rad finns det scenarier där utdata trunkeras av formateringssystemet innan de skickas till Out-String. Du kan undvika trunkering med hjälp av parametern 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

Parametrar

-InputObject

Anger vilka objekt som ska skrivas till en sträng. Ange en variabel som innehåller objekten eller skriv ett kommando eller uttryck som hämtar objekten.

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

-NoNewline

Tar bort alla nya linjer från utdata som genereras av PowerShell-formaterare. Nya linjer som ingår i strängobjekten bevaras.

Den här parametern introducerades i PowerShell 6.0.

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

-Stream

Anger att cmdleten skickar en separat sträng för varje rad i ett indataobjekt. Som standard ackumuleras strängarna för varje objekt och skickas som en enda sträng.

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

-Width

Anger antalet tecken i varje rad med utdata. Eventuella ytterligare tecken omsluts till nästa rad eller trunkeras beroende på vilken formaterings-cmdlet som används. Parametern Width gäller endast för objekt som formateras. Om du utelämnar den här parametern bestäms bredden av värdprogrammets egenskaper. I terminalfönster (konsol) används den aktuella fönsterbredden som standardvärde. PowerShell-konsolfönster har som standard en bredd på 80 tecken vid installationen.

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

Indata

PSObject

Du kan skicka objekt ned i pipelinen till Out-String.

Utdata

String

Out-String returnerar strängen som skapas från indataobjektet.

Kommentarer

Cmdletarna som innehåller verbet Out formaterar inte objekt. Cmdletarna Out skickar objekt till formatatorn för det angivna visningsmålet.