Join-String
Menggabungkan objek dari alur ke dalam satu string.
Sintaks
Join-String
[[-Property] <PSPropertyExpression>]
[[-Separator] <String>]
[-OutputPrefix <String>]
[-OutputSuffix <String>]
[-UseCulture]
[-InputObject <PSObject[]>]
[<CommonParameters>]
Join-String
[[-Property] <PSPropertyExpression>]
[[-Separator] <String>]
[-OutputPrefix <String>]
[-OutputSuffix <String>]
[-SingleQuote]
[-UseCulture]
[-InputObject <PSObject[]>]
[<CommonParameters>]
Join-String
[[-Property] <PSPropertyExpression>]
[[-Separator] <String>]
[-OutputPrefix <String>]
[-OutputSuffix <String>]
[-DoubleQuote]
[-UseCulture]
[-InputObject <PSObject[]>]
[<CommonParameters>]
Join-String
[[-Property] <PSPropertyExpression>]
[[-Separator] <String>]
[-OutputPrefix <String>]
[-OutputSuffix <String>]
[-FormatString <String>]
[-UseCulture]
[-InputObject <PSObject[]>]
[<CommonParameters>]
Deskripsi
Join-String
Cmdlet 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 $OFS
default .
Catatan
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 C:\
drive.
Objek dikirim ke alur 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.
Objeknya Get-ChildItem
adalah 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 C:\
drive.
Objek dikirim ke alur 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 Join-String
yang menggunakan parameter Properti untuk menentukan nama layanan. Parameter Pemisah menentukan tiga karakter khusus yang mewakili pengembalian pengangkutan (`r
), baris baru (`n
), dan tab (`t
). OutputPrefix menyisipkan label Services:
dengan baris dan tab baru sebelum baris pertama output.
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 informasi selengkapnya, 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.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-FormatString
Menentukan string format yang menentukan bagaimana setiap objek alur harus diformat sebelum menggabungkannya. {0}
Gunakan tempat penampung 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.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Type: | PSObject[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-OutputPrefix
Teks yang disisipkan sebelum string output. String dapat berisi karakter khusus seperti carriage return (`r
), newline (`n
), dan tab (`t
).
Type: | String |
Aliases: | op |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-OutputSuffix
Teks yang ditambahkan ke string output. String dapat berisi karakter khusus seperti carriage return (`r
), newline (`n
), dan tab (`t
).
Type: | String |
Aliases: | os |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Property
Nama properti, atau ekspresi properti, yang akan dikonversi menjadi teks.
Type: | PSPropertyExpression |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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 variabel preferensi Pemisah Bidang Output ($OFS
) diatur, nilai tersebut digunakan kecuali parameter ini ditentukan.
Catatan
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.
Type: | String |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SingleQuote
Membungkus nilai string dari setiap objek alur dalam tanda kutip tunggal.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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
.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Input
Output
Link Terkait
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk