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
Du kan skicka objekt i pipelinen till Out-String
.
Utdata
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.