Join-String
Menggabungkan objek dari alur ke dalam satu string.
Sintaks
Default (Default)
Join-String
[[-Property] <PSPropertyExpression>]
[[-Separator] <String>]
[-OutputPrefix <String>]
[-OutputSuffix <String>]
[-UseCulture]
[-InputObject <PSObject[]>]
[<CommonParameters>]
SingleQuote
Join-String
[[-Property] <PSPropertyExpression>]
[[-Separator] <String>]
[-OutputPrefix <String>]
[-OutputSuffix <String>]
[-SingleQuote]
[-UseCulture]
[-InputObject <PSObject[]>]
[<CommonParameters>]
DoubleQuote
Join-String
[[-Property] <PSPropertyExpression>]
[[-Separator] <String>]
[-OutputPrefix <String>]
[-OutputSuffix <String>]
[-DoubleQuote]
[-UseCulture]
[-InputObject <PSObject[]>]
[<CommonParameters>]
Format
Join-String
[[-Property] <PSPropertyExpression>]
[[-Separator] <String>]
[-OutputPrefix <String>]
[-OutputSuffix <String>]
[-FormatString <String>]
[-UseCulture]
[-InputObject <PSObject[]>]
[<CommonParameters>]
Deskripsi
cmdlet Join-String bergabung, atau menggabungkan, teks dari objek alur ke dalam satu string.
Jika tidak ada parameter yang ditentukan, objek alur dikonversi ke string dan digabungkan dengan pemisah default $OFS.
Nota
Saat Anda mengatur $OFS nilainya digunakan untuk menggabungkan array saat dikonversi ke string hingga variabel diatur ulang ke $null. Karena menggunakan $OFS dapat memiliki efek yang tidak diinginkan di tempat lain dalam kode Anda, yang terbaik adalah menggunakan parameter Pemisah sebagai gantinya.
Dengan menentukan nama properti, nilai properti dikonversi menjadi string dan digabungkan menjadi string.
Alih-alih nama properti, blok skrip dapat digunakan. Hasil blok skrip dikonversi ke string sebelum digabungkan untuk membentuk hasilnya. Ini dapat menggabungkan teks properti objek atau hasil objek yang dikonversi menjadi string.
Cmdlet ini diperkenalkan di PowerShell 6.2.
Contoh
Contoh 1: Bergabung dengan nama direktori
Contoh ini menggabungkan nama direktori, membungkus output dalam tanda kutip ganda, dan memisahkan nama direktori dengan koma dan spasi (, ). Output adalah objek string.
Get-ChildItem -Directory C:\ | Join-String -Property Name -DoubleQuote -Separator ', '
"PerfLogs", "Program Files", "Program Files (x86)", "Users", "Windows"
Get-ChildItem menggunakan parameter Direktori untuk mendapatkan semua nama direktori untuk drive C:\.
Objek dikirimkan melalui saluran ke Join-String. Parameter Properti menentukan nama direktori. Parameter DoubleQuote membungkus nama direktori dengan tanda kutip ganda.
Parameter Pemisah menentukan untuk menggunakan koma dan spasi (, ) untuk memisahkan nama direktori.
Objek Get-ChildItem System.IO.DirectoryInfo dan Join-String mengonversi objek menjadi System.String.
Contoh 2: Gunakan substring properti untuk menggabungkan nama direktori
Contoh ini menggunakan metode substring untuk mendapatkan empat huruf pertama nama direktori, membungkus output dalam tanda kutip tunggal, dan memisahkan nama direktori dengan titik koma (;).
Get-ChildItem -Directory C:\ | Join-String -Property {$_.Name.SubString(0,4)} -SingleQuote -Separator ';'
'Perf';'Prog';'Prog';'User';'Wind'
Get-ChildItem menggunakan parameter Direktori untuk mendapatkan semua nama direktori untuk drive C:\.
Objek dikirimkan melalui saluran ke Join-String.
Blok skrip parameter Properti menggunakan variabel otomatis ($_) untuk menentukan substring properti Nama setiap objek. Substring mendapatkan empat huruf pertama dari setiap nama direktori. Substring menentukan posisi awal dan akhir karakter. Parameter SingleQuote membungkus nama direktori dengan tanda kutip tunggal. Parameter Pemisah menentukan untuk menggunakan titik koma (;) untuk memisahkan nama direktori.
Untuk informasi selengkapnya tentang variabel dan substring otomatis, lihat about_Automatic_Variables dan Substring.
Contoh 3: Menampilkan output gabungan pada baris terpisah
Contoh ini menggabungkan nama layanan dengan setiap layanan pada baris terpisah dan diindentasi oleh tab.
Get-Service -Name se* | Join-String -Property Name -Separator "`r`n`t" -OutputPrefix "Services:`n`t"
Services:
seclogon
SecurityHealthService
SEMgrSvc
SENS
Sense
SensorDataService
SensorService
SensrSvc
SessionEnv
Get-Service menggunakan parameter Nama dengan untuk menentukan layanan yang dimulai dengan se*. Tanda bintang (*) adalah kartubebas untuk karakter apa pun.
Objek dikirim ke alur ke Join-String yang menggunakan parameter Properti untuk menentukan nama layanan. Parameter Pemisah menentukan tiga karakter khusus yang mewakili pengembalian gerbong (`r), baris baru (`n), dan tab (`t). OutputPrefix menyisipkan label Services: dengan baris dan tab baru sebelum baris output pertama.
Untuk informasi selengkapnya tentang karakter khusus, lihat about_Special_Characters.
Contoh 4: Membuat definisi kelas dari objek
Contoh ini menghasilkan definisi kelas PowerShell menggunakan objek yang ada sebagai templat.
Sampel kode ini menggunakan splatting untuk mengurangi panjang garis dan meningkatkan keterbacaan. Untuk lebih banyak informasi, lihat about_Splatting.
$obj = [pscustomobject] @{Name = "Joe"; Age = 42}
$parms = @{
Property = "Name"
FormatString = ' ${0}'
OutputPrefix = "class {`n"
OutputSuffix = "`n}`n"
Separator = "`n"
}
$obj.psobject.Properties | Join-String @parms
class {
$Name
$Age
}
Parameter
-DoubleQuote
Membungkus nilai string dari setiap objek alur dalam tanda kutip ganda.
Properti parameter
| Jenis: | SwitchParameter |
| Nilai default: | False |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
DoubleQuote
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-FormatString
Menentukan string format yang menentukan bagaimana setiap objek alur harus diformat sebelum menggabungkannya. Gunakan tempat penampung {0} untuk mewakili objek saat ini. Jika Anda perlu menyimpan kurung kurawal ({}) dalam string yang diformat, Anda dapat melepaskannya dengan menggandakan kurung kurawal ({{ dan }}).
Untuk informasi selengkapnya, lihat metode String.Format dan Pemformatan Komposit .
Properti parameter
| Jenis: | String |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
Format
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-InputObject
Menentukan teks yang akan digabungkan. Masukkan variabel yang berisi teks, atau ketik perintah atau ekspresi yang mendapatkan objek untuk digabungkan ke dalam string.
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 |
-OutputPrefix
Teks yang disisipkan sebelum string output. String dapat berisi karakter khusus seperti carriage return (`r), newline (`n), dan tab (`t).
Properti parameter
| Jenis: | String |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
| Alias: | Op |
Set parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-OutputSuffix
Teks yang ditambahkan ke string output. String dapat berisi karakter khusus seperti carriage return (`r), newline (`n), dan tab (`t).
Properti parameter
| Jenis: | String |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
| Alias: | os |
Set parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-Property
Nama properti, atau ekspresi properti, yang akan dikonversi menjadi teks.
Properti parameter
| Jenis: | PSPropertyExpression |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
(All)
| Position: | 0 |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-Separator
Teks atau karakter seperti koma atau titik koma yang disisipkan di antara teks untuk setiap objek alur.
Secara default, objek alur digabungkan tanpa pemisah. Jika Pemisah Bidang Output variabel preferensi ($OFS) diatur, nilai tersebut digunakan kecuali parameter ini ditentukan.
Nota
Saat Anda mengatur $OFS nilainya digunakan untuk menggabungkan array saat dikonversi ke string hingga variabel diatur ulang ke $null. Karena menggunakan $OFS dapat memiliki efek yang tidak diinginkan di tempat lain dalam kode Anda, yang terbaik adalah menggunakan parameter Pemisah sebagai gantinya.
Properti parameter
| Jenis: | String |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
(All)
| Position: | 1 |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-SingleQuote
Membungkus nilai string dari setiap objek alur dalam tanda kutip tunggal.
Properti parameter
| Jenis: | SwitchParameter |
| Nilai default: | False |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
SingleQuote
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-UseCulture
Menggunakan pemisah daftar untuk budaya saat ini sebagai pemisah item. Untuk menemukan pemisah daftar untuk budaya, gunakan perintah berikut: (Get-Culture).TextInfo.ListSeparator.
Properti parameter
| Jenis: | SwitchParameter |
| Nilai default: | False |
| 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.