Megosztás a következőn keresztül:


Out-String

A bemeneti objektumokat sztringként adja ki.

Syntax

Out-String
   [-Width <Int32>]
   [-NoNewline]
   [-InputObject <PSObject>]
   [<CommonParameters>]
Out-String
   [-Stream]
   [-Width <Int32>]
   [-InputObject <PSObject>]
   [<CommonParameters>]

Description

A Out-String parancsmag sztringekké alakítja a bemeneti objektumokat. Alapértelmezés szerint összegyűjti a sztringeket, Out-String és egyetlen sztringként adja vissza őket, de a Stream paraméterrel egyszerre Out-String egy sort is visszaadhat, vagy sztringtömböt hozhat létre. Ezzel a parancsmaggal ugyanúgy kereshet és módosíthat sztringkimenetet, mint a hagyományos rendszerhéjakban, ha az objektumkezelés kevésbé kényelmes.

A PowerShell hozzáadja azt a OSS függvényt is, amely rövid úton meghívja Out-String -Stream a Out-String folyamatokat.

Példák

1. példa: Az aktuális kultúra lekérése és az adatok sztringekké alakítása

Ez a példa lekéri az aktuális felhasználó területi beállításait, és sztringekké alakítja az objektumadatokat.

$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

A $C változó egy Selected.System.Globalization.CultureInfo objektumot tárol. Az objektum a folyamat kimenetének a folyamatba Select-Objectvaló elküldésének Get-Culture eredménye. A Tulajdonság paraméter csillag (*) helyettesítő karakterrel adja meg az objektumban található összes tulajdonságot.

Out-StringAz InputObject paraméter használatával adja meg a változóban $C tárolt CultureInfo objektumot. A program a benne lévő $C objektumokat sztringgé alakítja.

Feljegyzés

A Out-String tömb megtekintéséhez tárolja a kimenetet egy változóban, és használjon tömbindexet az elemek megtekintéséhez. A tömbindexről további információt a about_Arrays talál.

$str = Out-String -InputObject $C -Width 100

2. példa: Objektumok használata

Ez a példa bemutatja az objektumok és a sztringek használata közötti különbséget. A parancs egy olyan aliast jelenít meg, amely tartalmazza a gcm szöveget és a hozzá tartozó aliastGet-Command.

Get-Alias | Out-String -Stream | Select-String -Pattern "gcm"

Alias           gcm -> Get-Command

Get-Alias lekéri a System.Management.Automation.AliasInfo objektumokat, egyet minden aliashoz, és elküldi az objektumokat a folyamatba. Out-StringA Stream paraméterrel minden objektumot sztringgé alakít át, nem pedig az összes objektumot egyetlen sztringgé alakítja. A System.String objektumokat a rendszer leküldi a folyamatból, és Select-String a Minta paraméterrel megkeresi a szöveg gcm-jének egyezéseit.

Feljegyzés

Ha kihagyja a Stream paramétert, a parancs megjeleníti az összes aliast, mert Select-String a visszaadott sztringben Out-String megtalálja a gcm szöveget.

3. példa: A Szélesség paraméter használata a csonkolás megakadályozásához.

Bár a legtöbb kimenet Out-String a következő sorba van csomagolva, vannak olyan esetek, amikor a formázási rendszer csonkolja a kimenetet, mielőtt továbbadja őket Out-String. A Szélesség paraméterrel elkerülheti a csonkolást.

PS> @{TestKey = ('x' * 200)} | Out-String
Name                           Value
----                           -----
TestKey                        xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...

PS> @{TestKey = ('x' * 200)} | Out-String -Width 250

Name                           Value
----                           -----
TestKey                        xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Paraméterek

-InputObject

Megadja a sztringbe írandó objektumokat. Adjon meg egy változót, amely tartalmazza az objektumokat, vagy írjon be egy parancsot vagy kifejezést, amely lekéri az objektumokat.

Típus:PSObject
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:True
Helyettesítő karakterek elfogadása:False

-NoNewline

Eltávolítja az összes újvonalat a PowerShell-formázó által létrehozott kimenetből. A sztringobjektumok részét képező új vonalak megmaradnak.

Ezt a paramétert a PowerShell 6.0-ban vezettük be.

Típus:SwitchParameter
Position:Named
Alapértelmezett érték:False
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-Stream

Alapértelmezés szerint egyetlen, a konzolban látható módon formázott sztringet ad ki, Out-String beleértve az üres fejléceket vagy a záró új vonalakat is. A Stream paraméter lehetővé teszi Out-String az egyes sorok egyenkénti kimenetét. Ez alól az egyetlen kivétel a többsoros sztringek. Ebben az esetben Out-String a sztring továbbra is egyetlen, többsoros sztringként jelenik meg.

Típus:SwitchParameter
Position:Named
Alapértelmezett érték:False
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-Width

Az egyes kimeneti sorokban szereplő karakterek számát adja meg. A további karaktereket a rendszer a használt formázó parancsmagtól függően a következő sorba burkolja vagy csonkolja. A Width paraméter csak a formázott objektumokra vonatkozik. Ha kihagyja ezt a paramétert, a szélességet a gazdagépprogram jellemzői határozzák meg. A terminál (konzol) ablakaiban az aktuális ablakszélesség lesz az alapértelmezett érték. A PowerShell-konzol ablakai alapértelmezés szerint 80 karakter szélesek a telepítéskor.

Típus:Int32
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

Bevitelek

PSObject

A parancsmaghoz bármilyen objektumot csövezhet.

Kimenetek

String

Ez a parancsmag a bemeneti objektumból létrehozott sztringet adja vissza.

Jegyzetek

Az igét tartalmazó Out parancsmagok nem formáznak objektumokat. A Out parancsmagok objektumokat küldenek a megadott megjelenítési célhely formátumkezelőjének.

A PowerShell 7.2-es verzióval szabályozható az ANSI-feloldósorozatok renderelése. Az átadott Out-String ANSI-dekorált kimenet a tulajdonság beállítása $PSStyle.OutputRendering alapján módosítható. További információ: about_ANSI_Terminals.