Sdílet prostřednictvím


Out-String

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

Syntax

All

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: Pokud chcete zabránit zkrácení, použijte parametr Width.

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

-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ů

(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

-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í.