Out-String
Gibt Eingabeobjekte als Zeichenfolge aus.
Syntax
NoNewLineFormatting (Standard)
Out-String
[-Width <Int32>]
[-NoNewline]
[-InputObject <PSObject>]
[<CommonParameters>]
StreamFormatting
Out-String
[-Stream]
[-Width <Int32>]
[-InputObject <PSObject>]
[<CommonParameters>]
Beschreibung
Das Out-String Cmdlet konvertiert Eingabeobjekte in Zeichenfolgen. Sammelt standardmäßig Out-String die Zeichenfolgen und gibt sie als einzelne Zeichenfolge zurück, Sie können jedoch den Stream-Parameter verwenden, um jeweils eine Zeile zurückzugeben oder ein Array mit Zeichenfolgen zu Out-String erstellen. Mit diesem Cmdlet können Sie die Zeichenfolgenausgabe wie in herkömmlichen Shells durchsuchen und bearbeiten, wenn die Objektmanipulation weniger bequem ist.
PowerShell fügt auch die Funktion hinzu, die oss als Kurzform zur Verwendung Out-String in einer Pipeline aufruftOut-String -Stream.
Beispiele
Beispiel 1: Abrufen der aktuellen Kultur und Konvertieren der Daten in Zeichenfolgen
In diesem Beispiel werden die regionalen Einstellungen für den aktuellen Benutzer und die Objektdaten in Zeichenfolgen konvertiert.
$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
Die $C Variable speichert ein Selected.System.Globalization.CultureInfo-Objekt . Das Objekt ist das Ergebnis, dass die Get-Culture Ausgabe an die Pipeline gesendet Select-Objectwird. Der Property-Parameter verwendet einen Sternchen (*) zum Angeben aller Eigenschaften im Objekt.
Out-Stringverwendet den InputObject-Parameter, um das in der $C Variablen gespeicherte CultureInfo-Objekt anzugeben. Die Objekte in $C werden in eine Zeichenfolge konvertiert.
Note
Um das Out-String Array anzuzeigen, speichern Sie die Ausgabe in einer Variablen, und verwenden Sie einen Arrayindex, um die Elemente anzuzeigen. Weitere Informationen zum Arrayindex finden Sie unter about_Arrays.
$str = Out-String -InputObject $C -Width 100
Beispiel 2: Arbeiten mit Objekten
In diesem Beispiel wird der Unterschied zwischen dem Arbeiten mit Objekten und dem Arbeiten mit Zeichenfolgen veranschaulicht. Der Befehl zeigt einen Alias an, der den Text gcm, den Alias für Get-Command.
Get-Alias | Out-String -Stream | Select-String -Pattern "gcm"
Alias gcm -> Get-Command
Get-Alias ruft die System.Management.Automation.AliasInfo -Objekte ab, eine für jeden Alias und sendet die Objekte an die Pipeline.
Out-String verwendet den Stream-Parameter , um jedes Objekt in eine Zeichenfolge zu konvertieren, anstatt alle Objekte in eine einzelne Zeichenfolge zu verketten.
Die System.String-Objekte werden an die Pipeline gesendet und Select-String verwendet den Pattern-Parameter , um Übereinstimmungen für den Text-gcm zu finden.
Note
Wenn Sie den Stream-Parameter weglassen, zeigt der Befehl alle Aliase an, da Select-String der Text gcm in der zurückgegebenen einzelnen Zeichenfolge Out-String gefunden wird.
Beispiel 3: Verwenden des Parameters "Width" zum Verhindern des Abschneidens
Während die meisten Ausgaben Out-String in die nächste Zeile eingeschlossen werden, gibt es Szenarien, in denen die Ausgabe vom Formatierungssystem abgeschnitten wird, bevor sie an Out-String. Sie können das Abschneiden mithilfe des Width-Parameters vermeiden.
PS> @{TestKey = ('x' * 200)} | Out-String
Name Value
---- -----
TestKey xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
PS> @{TestKey = ('x' * 200)} | Out-String -Width 250
Name Value
---- -----
TestKey xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Parameter
-InputObject
Gibt die Objekte an, die in eine Zeichenfolge geschrieben werden sollen. Geben Sie eine Variable ein, die die Objekte enthält, oder geben Sie einen Befehl oder Ausdruck ein, der die Objekte ermittelt.
Parametereigenschaften
| Typ: | PSObject |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | True |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-NoNewline
Entfernt alle Neulinien aus der Ausgabe, die vom PowerShell-Formatierer generiert wird. Newlines, die Teil der Zeichenfolgenobjekte sind, werden beibehalten.
Dieser Parameter wurde in PowerShell 6.0 eingeführt.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | False |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
NoNewLineFormatting
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Stream
Gibt standardmäßig eine einzelne Zeichenfolge aus, die so formatiert ist, Out-String wie sie in der Konsole angezeigt wird, einschließlich leerer Kopfzeilen oder nachgestellter Newlines. Der Stream-Parameter ermöglicht Out-String es, jede Zeile einzeln auszugeben. Die einzige Ausnahme hierfür sind mehrteilige Zeichenfolgen. In diesem Fall Out-String gibt die Zeichenfolge weiterhin als eine einzelne, mehrteilige Zeichenfolge aus.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | False |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
StreamFormatting
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Width
Gibt die Anzahl der Zeichen in jeder Ausgabezeile an. Alle zusätzlichen Zeichen werden abhängig vom verwendeten Formatierer-Cmdlet in die nächste Zeile umbrochen oder abgeschnitten. Der Parameter Width gilt nur für Objekte, die formatiert werden. Wenn Sie diesen Parameter weglassen, wird die Breite durch die Merkmale des Hostprogramms bestimmt. In Terminalfenstern (Konsolenfenster) wird die aktuelle Fensterbreite als Standardwert verwendet. PowerShell-Konsolenfenster werden standardmäßig auf eine Breite von 80 Zeichen bei der Installation festgelegt.
Parametereigenschaften
| Typ: | Int32 |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
CommonParameters
Dieses Cmdlet unterstützt die allgemeinen Parameter -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen findest du unter about_CommonParameters.
Eingaben
PSObject
Sie können jedes Objekt an dieses Cmdlet weiterleiten.
Ausgaben
String
Dieses Cmdlet gibt die Zeichenfolge zurück, die sie aus dem Eingabeobjekt erstellt.
Hinweise
Die Cmdlets, die das Out Verb enthalten, formatieren keine Objekte. Die Out Cmdlets senden Objekte an den Formatierer für das angegebene Anzeigeziel.
PowerShell 7.2 hat die Möglichkeit hinzugefügt, zu steuern, wie ANSI-Escapesequenzen gerendert werden. AnSI-dekorierte Ausgabe, die übergeben Out-String wird, kann basierend auf der Einstellung der $PSStyle.OutputRendering Eigenschaft geändert werden. Weitere Informationen finden Sie unter about_ANSI_Terminals.