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