Out-String
Výstupem jsou vstupní objekty jako řetězec.
Syntaxe
NoNewLineFormatting (Výchozí)
Out-String
[-Width <Int32>]
[-NoNewline]
[-InputObject <PSObject>]
[<CommonParameters>]
StreamFormatting
Out-String
[-Stream]
[-Width <Int32>]
[-InputObject <PSObject>]
[<CommonParameters>]
Description
Rutina Out-String převede vstupní objekty na řetězce. Ve výchozím nastavení Out-String hromadí řetězce a vrátí je jako jeden řetězec, ale pomocí parametru Stream můžete směrovat Out-String k vrácení jednoho řádku po druhém nebo vytvoření pole řetězců. Tato rutina umožňuje prohledávat a manipulovat s výstupem řetězce stejně jako v tradičních prostředích, když je manipulace s objekty méně pohodlná.
PowerShell také přidá funkci oss, která volá Out-String -Stream jako zkrácený způsob použití Out-String v kanálu.
Příklady
Příklad 1: Získání aktuální jazykové verze a převod dat na řetězce
Tento příklad získá místní nastavení pro aktuálního uživatele a převede data objektu na řetězce.
$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
Proměnná $C ukládá objekt Selected.System.Globalization.CultureInfo objektu. Objekt je výsledkem Get-Culture odeslání výstupu kanálu do Select-Object. Parametr Vlastnost používá zástupný znak hvězdičky (*) k určení všech vlastností, které jsou obsaženy v objektu.
Out-String pomocí parametru InputObject určuje objekt CultureInfo uložený v proměnné $C. Objekty v $C se převedou na řetězec.
Poznámka:
Pokud chcete zobrazit Out-String pole, uložte výstup do proměnné a pomocí indexu pole zobrazte prvky. Další informace o indexu pole naleznete v tématu about_Arrays.
$str = Out-String -InputObject $C -Width 100
Příklad 2: Práce s objekty
Tento příklad ukazuje rozdíl mezi prací s objekty a prací s řetězci. Příkaz zobrazí alias, který obsahuje text gcm, alias pro Get-Command.
Get-Alias | Out-String -Stream | Select-String -Pattern "gcm"
Alias gcm -> Get-Command
Get-Alias získá System.Management.Automation.AliasInfo objekty, jeden pro každý alias a odešle objekty dolů kanálu.
Out-String používá parametr Stream k převodu každého objektu na řetězec, nikoli ke zřetězení všech objektů do jednoho řetězce.
Objekty System.String se odesílají do kanálu a Select-String pomocí parametru Pattern najde shody pro text gcm.
Poznámka:
Pokud parametr Stream vynecháte, příkaz zobrazí všechny aliasy, protože Select-String najde text gcm v jednom řetězci, který Out-String vrátí.
Příklad 3: Použití parametru Width k zabránění zkrácení
Zatímco většina výstupů z Out-String je zabalena na další řádek, existují scénáře, kdy je výstup zkrácen systémem formátování před předáním do Out-String. Zkrácení se můžete vyhnout pomocí 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
Určuje objekty, které mají být zapsány do řetězce. Zadejte proměnnou, která obsahuje objekty, nebo zadejte příkaz nebo výraz, který objekty získá.
Vlastnosti parametru
| Typ: | PSObject |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | True |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-NoNewline
Odebere všechny nové čáry z výstupu vygenerovaného formátovacím modulem PowerShellu. Newlines that are part of the string objects are preserved.
Tento parametr byl představen v PowerShellu 6.0.
Vlastnosti parametru
| Typ: | SwitchParameter |
| Default value: | False |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
NoNewLineFormatting
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-Stream
Ve výchozím nastavení Out-String výstupem je jeden řetězec formátovaný tak, jak byste ho viděli v konzole, včetně prázdných hlaviček nebo koncových novýchřádků. Parametr Stream umožňuje Out-String výstupu každého řádku po jednom. Jedinou výjimkou jsou víceřádkové řetězce. V takovém případě Out-String stále vypíše řetězec jako jeden víceřádkový řetězec.
Vlastnosti parametru
| Typ: | SwitchParameter |
| Default value: | False |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
StreamFormatting
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-Width
Určuje počet znaků v každém řádku výstupu. Všechny další znaky jsou zabalené na další řádek nebo zkráceny v závislosti na použité rutině formátovače. Parametr Width se vztahuje pouze na objekty, které jsou formátované. Pokud tento parametr vynecháte, šířka je určena vlastnostmi hostitelského programu. V oknech terminálu (konzola) se jako výchozí hodnota používá aktuální šířka okna. Okna konzoly PowerShellu mají při instalaci šířku 80 znaků.
Vlastnosti parametru
| Typ: | Int32 |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
CommonParameters
Tato rutina podporuje běžné parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction a -WarningVariable. Další informace najdete v about_CommonParameters.
Vstupy
PSObject
K tomuto cmdletu můžete přesměrovat libovolný objekt.
Výstupy
String
Tato rutina vrátí řetězec, který vytvoří ze vstupního objektu.
Poznámky
Rutiny, které obsahují příkaz Out, neformátují objekty. Rutiny Out odesílají objekty do formátovače určeného cíle zobrazení.
PowerShell 7.2 přidal možnost řídit, jak se řídicí sekvence ANSI vykreslují. Výstup s dekorací ANSI, který se předává Out-String lze změnit na základě nastavení vlastnosti $PSStyle.OutputRendering. Další informace najdete v tématu about_ANSI_Terminals.