Bagikan melalui


Out-String

Menghasilkan objek input sebagai string.

Sintaks

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

Deskripsi

Out-String Cmdlet mengonversi objek input menjadi string. Secara default, Out-String mengakumulasi string dan mengembalikannya sebagai string tunggal, tetapi Anda dapat menggunakan parameter Stream untuk mengarahkan Out-String untuk mengembalikan satu baris sekaligus atau membuat array string. Cmdlet ini memungkinkan Anda mencari dan memanipulasi output string seperti yang Anda lakukan di cangkang tradisional ketika manipulasi objek kurang nyaman.

PowerShell juga menambahkan OSS fungsi yang memanggil Out-String -Stream sebagai cara singkat untuk digunakan Out-String dalam alur.

Contoh

Contoh 1: Dapatkan budaya saat ini dan konversi data menjadi string

Contoh ini mendapatkan pengaturan regional untuk pengguna saat ini dan mengonversi data objek menjadi string.

$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

Variabel $C menyimpan objek Selected.System.Globalization.CultureInfo . Objek adalah hasil dari Get-Culture pengiriman output ke alur ke Select-Object. Parameter Properti menggunakan kartubebas tanda bintang (*) untuk menentukan semua properti yang terkandung dalam objek.

Out-Stringmenggunakan parameter InputObject untuk menentukan objek CultureInfo yang $C disimpan dalam variabel. Objek di dikonversi $C menjadi string.

Catatan

Untuk melihat Out-String array, simpan output ke variabel dan gunakan indeks array untuk melihat elemen. Untuk informasi selengkapnya tentang indeks array, lihat about_Arrays.

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

Contoh 2: Bekerja dengan objek

Contoh ini menunjukkan perbedaan antara bekerja dengan objek dan bekerja dengan string. Perintah menampilkan alias yang menyertakan teks gcm, alias untuk Get-Command.

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

Alias           gcm -> Get-Command

Get-Aliasmendapatkan objek System.Management.Automation.AliasInfo, satu untuk setiap alias, dan mengirim objek ke bawah alur. Out-Stringmenggunakan parameter Stream untuk mengonversi setiap objek menjadi string daripada menggabungkan semua objek menjadi satu string. Objek System.String dikirimkan ke alur dan Select-String menggunakan parameter Pola untuk menemukan kecocokan untuk teks gcm.

Catatan

Jika Anda menghilangkan parameter Stream , perintah menampilkan semua alias karena Select-String menemukan teks gcm dalam string tunggal yang Out-String kembali.

Contoh 3: Gunakan parameter Lebar untuk mencegah pemotongan.

Sementara sebagian besar output dari Out-String dibungkus ke baris berikutnya, ada skenario di mana output dipotong oleh sistem pemformatan sebelum diteruskan ke Out-String. Anda dapat menghindari pemotongan menggunakan parameter Lebar .

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

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

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

Parameter

-InputObject

Menentukan objek yang akan ditulis ke string. Masukkan variabel yang berisi objek, atau ketik perintah atau ekspresi yang mendapatkan objek.

Type:PSObject
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-NoNewline

Menghapus semua baris baru dari output yang dihasilkan oleh formatter PowerShell. Baris baru yang merupakan bagian dari objek string dipertahankan.

Parameter ini diperkenalkan di PowerShell 6.0.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Stream

Secara default, Out-String menghasilkan satu string yang diformat seperti yang Akan Anda lihat di konsol termasuk header kosong atau baris baru berikutnya. Parameter Stream memungkinkan Out-String untuk menghasilkan setiap baris satu per satu. Satu-satunya pengecualian untuk ini adalah string multibaris. Dalam hal ini, Out-String masih akan menghasilkan string sebagai string multibaris tunggal.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Width

Menentukan jumlah karakter di setiap baris output. Setiap karakter tambahan dibungkus ke baris berikutnya atau dipotong tergantung pada cmdlet formatter yang digunakan. Parameter Lebar hanya berlaku untuk objek yang sedang diformat. Jika Anda menghilangkan parameter ini, lebar ditentukan oleh karakteristik program host. Di jendela terminal (konsol), lebar jendela saat ini digunakan sebagai nilai default. Jendela konsol PowerShell default ke lebar 80 karakter pada penginstalan.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Input

PSObject

Anda dapat menyalurkan objek apa pun ke cmdlet ini.

Output

String

Cmdlet ini mengembalikan string yang dibuatnya dari objek input.

Catatan

Cmdlet yang berisi Out kata kerja tidak memformat objek. Out Cmdlet mengirim objek ke pemformat untuk tujuan tampilan yang ditentukan.

PowerShell 7.2 menambahkan kemampuan untuk mengontrol bagaimana urutan escape ANSI dirender. Output yang didekorasi ANSI yang diteruskan Out-String dapat diubah berdasarkan pengaturan $PSStyle.OutputRendering properti. Untuk informasi selengkapnya, lihat about_ANSI_Terminals.