Bagikan melalui


Out-String

Menghasilkan objek input sebagai string.

Sintaks

NoNewLineFormatting (Default)

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

StreamFormatting

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

Deskripsi

Cmdlet Out-String mengonversi objek input menjadi string. Secara default, Out-String mengumpulkan string dan mengembalikannya sebagai string tunggal, tetapi Anda dapat menggunakan parameter Stream untuk mengarahkan Out-String 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 fungsi oss yang memanggil Out-String -Stream sebagai cara singkat untuk menggunakan 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 mengirim output ke bawah alur ke Select-Object. Parameter Properti menggunakan kartubebas tanda bintang (*) untuk menentukan semua properti yang terkandung dalam objek.

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

Nota

Untuk melihat array Out-String, 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-Alias mendapatkan objek System.Management.Automation.AliasInfo, satu untuk setiap alias, dan mengirim objek ke bawah alur. Out-String menggunakan 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 teks gcm.

Nota

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

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.

Properti parameter

Jenis:PSObject
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:True
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa: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.

Properti parameter

Jenis:SwitchParameter
Nilai default:False
Mendukung wildcard:False
DontShow:False

Set parameter

NoNewLineFormatting
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa: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.

Properti parameter

Jenis:SwitchParameter
Nilai default:False
Mendukung wildcard:False
DontShow:False

Set parameter

StreamFormatting
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa: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.

Properti parameter

Jenis:Int32
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

CommonParameters

Cmdlet ini mendukung parameter umum: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, dan -WarningVariable. Untuk informasi selengkapnya, lihat about_CommonParameters.

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 kata kerja Out tidak memformat objek. Cmdlet Out mengirim objek ke formatter untuk tujuan tampilan yang ditentukan.

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