Out-String
Wyprowadza obiekty wejściowe jako ciąg.
Składnia
Out-String
[-Stream]
[-Width <Int32>]
[-InputObject <PSObject>]
[<CommonParameters>]
Opis
Polecenie Out-String
cmdlet konwertuje obiekty wejściowe na ciągi. Domyślnie Out-String
gromadzi ciągi i zwraca je jako pojedynczy ciąg, ale możesz użyć parametru Stream , aby kierować Out-String
polecenie, aby zwrócić jeden wiersz jednocześnie 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.
Program PowerShell dodaje OSS
również funkcję, która wywołuje Out-String -Stream
metodę skróconą do użycia Out-String
w potoku.
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 wysyłania danych wyjściowych Get-Culture
w dół potoku do Select-Object
. Parametr Property używa symbolu wieloznakowego gwiazdki (*
), aby określić wszystkie właściwości zawarte w obiekcie.
Out-String
używa parametru InputObject do określenia obiektu CultureInfo przechowywanego w zmiennej $C
. Obiekty w pliku $C
są konwertowane na ciąg.
Uwaga
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 do konwertowania każdego obiektu na ciąg, a nie łączenia wszystkich obiektów w jeden ciąg.
Obiekty System.String są wysyłane w dół potoku i Select-String
używają parametru Pattern do znajdowania dopasowań dla tekstu gcm.
Uwaga
Jeśli pominięto parametr stream , polecenie wyświetli wszystkie aliasy, ponieważ Select-String
znajdzie tekst gcm w jednym zwracaniu ciągu Out-String
.
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 elementu 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.
Typ: | PSObject |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-Stream
Domyślnie Out-String
wyprowadza pojedynczy ciąg sformatowany tak, jak widać to w konsoli, w tym wszystkie puste nagłówki lub końcowe linie. Parametr strumienia umożliwia Out-String
wyprowadzanie każdego wiersza jeden po drugim. Jedynym wyjątkiem są ciągi wielowierszowe. W takim przypadku Out-String
nadal będzie zwracać ciąg jako pojedynczy, wielowierszowy ciąg.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | False |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | 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 ma zastosowanie tylko do obiektów, które są formatowane. 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.
Typ: | Int32 |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
Dane wejściowe
Do tego polecenia cmdlet można przekazać dowolny obiekt.
Dane wyjściowe
To polecenie cmdlet zwraca ciąg tworzony na podstawie obiektu wejściowego.
Uwagi
Polecenia cmdlet zawierające Out
czasownik nie formatują obiektów. Polecenia Out
cmdlet wysyłają obiekty do obiektu formatującego dla określonego miejsca docelowego wyświetlania.