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