Out-String
Matar ut indataobjekt som en sträng.
Syntax
NoNewLineFormatting (Standard)
Out-String
[-Width <Int32>]
[-NoNewline]
[-InputObject <PSObject>]
[<CommonParameters>]
StreamFormatting
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 en 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.
Anmärkning
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 i stället för att sammanfoga 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.
Anmärkning
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.
Parameteregenskaper
| Typ: | PSObject |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
(All)
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | True |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | 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.
Parameteregenskaper
| Typ: | SwitchParameter |
| Standardvärde: | False |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
NoNewLineFormatting
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-Stream
Som standard matar Out-String ut en enda sträng formaterad som du skulle se i konsolen, inklusive tomma rubriker eller avslutande nya raderna. Parametern Stream gör att Out-String kan mata ut varje rad en i taget. Det enda undantaget är flerradssträngar. I så fall kommer Out-String fortfarande att mata ut strängen som en enda sträng med flera ledningar.
Parameteregenskaper
| Typ: | SwitchParameter |
| Standardvärde: | False |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
StreamFormatting
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | 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.
Parameteregenskaper
| Typ: | Int32 |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
(All)
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
CommonParameters
Den här cmdleten stöder vanliga parametrar: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction och -WarningVariable. Mer information finns i about_CommonParameters.
Indata
PSObject
Du kan skicka objekt nedåt 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.