Dela via


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 ackumulerar Out-String strängarna och returnerar dem som en enda sträng, men du kan använda parametern Stream för att dirigera Out-String 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 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 skickar utdata ned i pipelinen till Select-Object. Parametern Property använder ett jokertecken för asterisk (*) för att ange att alla egenskaper finns i objektet.

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

Not

Om du vill visa Out-String matris 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 System.Management.Automation.AliasInfo objekt, ett för varje alias, och skickar objekten nedåt i pipelinen. Out-String använder parametern Stream för att konvertera varje objekt till en sträng som sammanfogar alla objekt till en enda sträng. Objekten System.String skickas ned i pipelinen och Select-String använder parametern Pattern för att hitta matchningar för texten gcm.

Not

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

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 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 de 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.

Typ:PSObject
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-NoNewline

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

Den här parametern introducerades i PowerShell 6.0.

Typ:SwitchParameter
Position:Named
Standardvärde:False
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken: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.

Typ:SwitchParameter
Position:Named
Standardvärde:False
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Width

Anger antalet tecken på varje utdatarad. 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.

Typ:Int32
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

Indata

PSObject

Du kan skicka objekt i pipelinen till Out-String.

Utdata

String

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

Kommentarer

De cmdletar som innehåller Out verb formaterar inte objekt. Cmdletarna Out skickar objekt till formateringsobjektet för det angivna visningsmålet.