Sdílet prostřednictvím


Out-String

Výstupem jsou vstupní objekty jako řetězec.

Syntaxe

Out-String
   [-Width <Int32>]
   [-NoNewline]
   [-InputObject <PSObject>]
   [<CommonParameters>]
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 se řetězce hromadí a vrátí jako jeden řetězec, ale pomocí parametru Stream můžete nasměrovat Out-String vrácení jednoho řádku najednou nebo vytvořit 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á OSS funkci, 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á Selected.System.Globalization.CultureInfo objekt. Objekt je výsledkem Get-Culture odeslání výstupu kanálu do Select-Object. Parametr Property používá zástupný znak hvězdičky (*) k určení všech vlastností, které jsou obsaženy v objektu.

Out-Stringpoužívá InputObject parametr k určení CultureInfo objektu uloženého $C v proměnné. Objekty jsou $C převedeny na řetězec.

Poznámka:

Chcete-li zobrazit Out-String pole, uložte výstup do proměnné a pomocí indexu pole zobrazte prvky. Další informace o indexu pole najdete 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-Aliaszíská System.Management.Automation.AliasInfo objekty, jeden pro každý alias a odešle objekty dolů kanálu. Out-Stringpoužívá parametr Stream k převodu každého objektu na řetězec místo 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 vyhledá 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 se vrátí.

Příklad 3: Pokud chcete zabránit zkrácení, použijte parametr Width.

Zatímco většina výstupu z Out-String je zabalena na další řádek, existují scénáře, kdy je výstup před předáním Out-Stringzkrácen systémem formátování . 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á.

Typ:PSObject
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:True
Přijmout zástupné znaky: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.

Typ:SwitchParameter
Position:Named
Default value:False
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Stream

Ve výchozím nastavení výstupuje jeden řetězec formátovaný tak, Out-String jak byste ho viděli v konzole, včetně všech prázdných záhlaví nebo koncových novýchřádků. Parametr Stream umožňuje Out-String výstup každého řádku o jeden po druhém. Jedinou výjimkou jsou víceřádkové řetězce. V takovém případě Out-String bude řetězec dál výstupem jako jeden víceřádkový řetězec.

Typ:SwitchParameter
Position:Named
Default value:False
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky: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átovány. 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ů.

Typ:Int32
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

Vstupy

PSObject

Do této rutiny můžete převést libovolný objekt.

Výstupy

String

Tato rutina vrátí řetězec, který vytvoří ze vstupního objektu.

Poznámky

Rutiny, které obsahují Out příkaz, 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í $PSStyle.OutputRendering vlastnosti. Další informace najdete v tématu about_ANSI_Terminals.