Out-String
Generuje obiekty wejściowe jako ciąg.
Składnia
Out-String
[-Width <Int32>]
[-NoNewline]
[-InputObject <PSObject>]
[<CommonParameters>]
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żna użyć parametru Stream, aby zwrócić Out-String
jeden wiersz naraz lub utworzyć tablicę ciągów. To polecenie cmdlet umożliwia wyszukiwanie i manipulowanie danymi wyjściowymi ciągu, 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 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
polecenia .
Get-Alias | Out-String -Stream | Select-String -Pattern "gcm"
Alias gcm -> Get-Command
Get-Alias
pobiera obiekty System.Management.Automation.AliasInfo , jeden 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 pliku text gcm.
Uwaga
Jeśli pominiesz parametr Stream, polecenie wyświetli wszystkie aliasy, ponieważ Select-String
znajdzie tekst gcm w pojedynczym ciągu, który Out-String
zwraca.
Przykład 3. Użyj parametru Width, aby zapobiec obcięciu.
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.
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-NoNewline
Usuwa wszystkie nowe linie z danych wyjściowych wygenerowanych przez formater 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.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Stream
Domyślnie generuje pojedynczy ciąg sformatowany tak, jak widać go w konsoli, Out-String
w tym wszystkie puste nagłówki lub końcowe linie. Parametr Stream umożliwia Out-String
wyprowadzenie każdego wiersza jeden po drugim. Jedynym wyjątkiem są ciągi wielowierszowe. W takim przypadku Out-String
ciąg będzie nadal zwracany jako pojedynczy, wielowierszowy ciąg.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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, które są formatowane. W przypadku pominięcia tego parametru 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.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Dane wejściowe
Obiekty można wysyłać w dół potoku do Out-String
.
Dane wyjściowe
Out-String
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 formatora dla określonego miejsca docelowego wyświetlania.