Out-String
Wyprowadza obiekty wejściowe jako ciąg.
Składnia
NoNewLineFormatting (domyślnie)
Out-String
[-Width <Int32>]
[-NoNewline]
[-InputObject <PSObject>]
[<CommonParameters>]
StreamFormatting
Out-String
[-Stream]
[-Width <Int32>]
[-InputObject <PSObject>]
[<CommonParameters>]
Opis
Polecenie cmdlet Out-String konwertuje obiekty wejściowe na ciągi. Domyślnie Out-String gromadzi ciągi i zwraca je jako pojedynczy ciąg, ale można użyć parametru Stream, aby skierować Out-String, aby zwrócić jeden wiersz naraz lub utworzyć tablicę ciągów. To polecenie cmdlet umożliwia wyszukiwanie i manipulowanie danymi wyjściowymi ciągów, tak jak w tradycyjnych powłokach, gdy manipulowanie obiektami jest mniej wygodne.
Przykłady
Przykład 1. Pobieranie bieżącej kultury i konwertowanie danych na ciągi
Ten przykład pobiera ustawienia regionalne bieżącego użytkownika i konwertuje dane obiektu na ciągi.
$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
Zmienna $C przechowuje obiekt Selected.System.Globalization.CultureInfo. Obiekt jest wynikiem Get-Culture wysyłania danych wyjściowych w dół potoku do Select-Object. Parametr właściwości używa gwiazdki (*) w celu określenia wszystkich właściwości zawartych w obiekcie.
Out-String używa parametru InputObject w celu określenia obiektu CultureInfo przechowywanego w zmiennej $C. Obiekty w $C są konwertowane na ciąg.
Uwaga / Notatka
Aby wyświetlić tablicę Out-String, zapisz dane wyjściowe w zmiennej i użyj indeksu tablicy, aby wyświetlić elementy. Aby uzyskać więcej informacji na temat indeksu tablicy, zobacz about_Arrays.
$str = Out-String -InputObject $C -Width 100
Przykład 2: Praca z obiektami
W tym przykładzie pokazano różnicę między pracą z obiektami i pracą z ciągami. Polecenie wyświetla alias zawierający tekst gcm, alias dla Get-Command.
Get-Alias | Out-String -Stream | Select-String -Pattern "gcm"
Alias gcm -> Get-Command
Get-Alias pobiera obiekty System.Management.Automation.AliasInfo, po jednym dla każdego aliasu i wysyła obiekty w dół potoku.
Out-String używa parametru Stream, aby przekonwertować każdy obiekt na ciąg, zamiast łączyć wszystkie obiekty w jeden ciąg.
Obiekty System.String są wysyłane w dół potoku, a Select-String używa parametru pattern w celu znalezienia dopasowań dla tekstu gcm.
Uwaga / Notatka
Jeśli pominięto parametr Stream, polecenie wyświetli wszystkie aliasy, ponieważ Select-String znajdzie tekst gcm w jednym ciągu, który Out-String zwraca.
Przykład 3. Użyj parametru Width, aby zapobiec obcinaniu.
Podczas gdy większość danych wyjściowych z Out-String jest opakowana do następnego wiersza, istnieją scenariusze, w których dane wyjściowe są obcięte przez system formatowania przed przekazaniem do Out-String. Można uniknąć obcinania przy użyciu parametru 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
Parametry
-InputObject
Określa obiekty, które mają być zapisywane w ciągu. Wprowadź zmienną zawierającą obiekty lub wpisz polecenie lub wyrażenie, które pobiera obiekty.
Właściwości parametru
| Typ: | PSObject |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | True |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-NoNewline
Usuwa wszystkie nowe linie z danych wyjściowych wygenerowanych przez program formatujący programu PowerShell. Nowe linie, które są częścią obiektów ciągów, są zachowywane.
Ten parametr został wprowadzony w programie PowerShell 6.0.
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | False |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
NoNewLineFormatting
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-Stream
Domyślnie Out-String generuje pojedynczy ciąg sformatowany tak, jak widać w konsoli, w tym wszystkie puste nagłówki lub końcowe nowe linie. Parametr Stream umożliwia Out-String wyprowadzanie każdego wiersza po jednym wierszu. Jedynym wyjątkiem są ciągi wielowierszowe. W takim przypadku Out-String nadal będzie zwracać ciąg jako pojedynczy, wielowierszowy ciąg.
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | False |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
StreamFormatting
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-Width
Określa liczbę znaków w każdym wierszu danych wyjściowych. Wszelkie dodatkowe znaki są opakowane do następnego wiersza lub obcięte w zależności od użytego polecenia cmdlet formatującego. Parametr Width dotyczy tylko obiektów sformatowanych. Jeśli pominięto ten parametr, szerokość jest określana przez cechy programu hosta. W oknach terminalu (konsoli) bieżąca szerokość okna jest używana jako wartość domyślna. Okna konsoli programu PowerShell domyślnie mają szerokość 80 znaków podczas instalacji.
Właściwości parametru
| Typ: | Int32 |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
CommonParameters
To polecenie cmdlet obsługuje typowe parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction i -WarningVariable. Aby uzyskać więcej informacji, zobacz about_CommonParameters.
Dane wejściowe
PSObject
Obiekty można wysyłać w dół potoku do Out-String.
Dane wyjściowe
String
Out-String zwraca ciąg tworzony na podstawie obiektu wejściowego.
Uwagi
Polecenia cmdlet zawierające czasownik Out nie formatują obiektów. Polecenia cmdlet Out wysyłają obiekty do obiektu formatującego dla określonego miejsca docelowego wyświetlania.