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-Object
való 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-String
Az 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-String
A 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
A parancsmaghoz bármilyen objektumot csövezhet.
Kimenetek
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.