Join-String
İşlem hattındaki nesneleri tek bir dizede birleştirir.
Sözdizimi
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>]
Description
Join-String
Cmdlet, işlem hattı nesnelerinden gelen metni tek bir dizede birleştirir veya birleştirir.
Parametre belirtilmezse, işlem hattı nesneleri bir dizeye dönüştürülür ve varsayılan ayırıcı $OFS
ile birleştirilir.
Not
değerini ayarladığınızda $OFS
, değişken olarak sıfırlanana kadar dizelere dönüştürülen dizileri birleştirmek için $null
kullanılır. kullanmanın $OFS
kodunuzun başka bir yerinde istenmeyen etkileri olabileceğinden, bunun yerine Ayırıcı parametresini kullanmak en iyisidir.
Özellik adı belirterek özelliğin değeri bir dizeye dönüştürülür ve bir dizeye katılır.
Özellik adı yerine betik bloğu kullanılabilir. Betik bloğunun sonucu, sonucu oluşturmak üzere birleştirilmeden önce bir dizeye dönüştürülür. Nesnenin özelliğinin metnini veya dizeye dönüştürülen nesnenin sonucunu birleştirebilir.
Bu cmdlet PowerShell 6.2'de kullanıma sunulmuştur.
Örnekler
Örnek 1: Dizin adlarını birleştirme
Bu örnek dizin adlarını birleştirir, çıkışı çift tırnak içine alır ve dizin adlarını virgül ve boşlukla (,
) ayırır. Çıkış bir dize nesnesidir.
Get-ChildItem -Directory C:\ | Join-String -Property Name -DoubleQuote -Separator ', '
"PerfLogs", "Program Files", "Program Files (x86)", "Users", "Windows"
Get-ChildItem
, sürücünün tüm dizin adlarını almak için Directory parametresini C:\
kullanır.
Nesneler işlem hattına Join-String
gönderilir. Property parametresi dizin adlarını belirtir. DoubleQuote parametresi, dizin adlarını çift tırnak işaretleri ile sarmalar.
Ayırıcı parametresi, dizin adlarını ayırmak için virgül ve boşluk (,
) kullanmayı belirtir.
Nesneler Get-ChildItem
System.IO.DirectoryInfo'dır ve Join-String
nesneleri System.String'e dönüştürür.
Örnek 2: Dizin adlarını birleştirmek için özellik alt dizesi kullanma
Bu örnek, dizin adlarının ilk dört harfini almak için bir alt dize yöntemi kullanır, çıkışı tek tırnak içine alır ve dizin adlarını noktalı virgülle (;
) ayırır.
Get-ChildItem -Directory C:\ | Join-String -Property {$_.Name.SubString(0,4)} -SingleQuote -Separator ';'
'Perf';'Prog';'Prog';'User';'Wind'
Get-ChildItem
, sürücünün tüm dizin adlarını almak için Directory parametresini C:\
kullanır.
Nesneler işlem hattına Join-String
gönderilir.
Özellik parametresi betik bloğu, her nesnenin Name özelliği alt dizesini belirtmek için otomatik değişken ($_
) kullanır. Alt dize, her dizin adının ilk dört harfini alır. Alt dize, karakter başlangıç ve bitiş konumlarını belirtir. SingleQuote parametresi, dizin adlarını tek tırnak işaretleri ile sarmalar. Ayırıcı parametresi, dizin adlarını ayırmak için noktalı virgül (;
) kullanılacağını belirtir.
Otomatik değişkenler ve alt dizeler hakkında daha fazla bilgi için bkz . about_Automatic_Variables ve Alt Dize.
Örnek 3: Birleştirme çıkışını ayrı bir satırda görüntüleme
Bu örnek, hizmet adlarını her hizmetle ayrı bir satırda birleştirir ve bir sekmeyle girintili olarak ekler.
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
ile se*
başlayan hizmetleri belirtmek için ile Name parametresini kullanır. Yıldız işareti (*
), herhangi bir karakterin joker karakteridir.
Nesneler, hizmet adlarını belirtmek için Join-String
Property parametresini kullanan işlem hattına gönderilir. Ayırıcı parametresi, satır başı (), yeni satır () ve sekmeyi`n
(`r
`t
) temsil eden üç özel karakter belirtir. OutputPrefix, çıkışın ilk satırından önce yeni bir satır ve sekme içeren bir etiket Services:
ekler.
Özel karakterler hakkında daha fazla bilgi için bkz . about_Special_Characters.
Örnek 4: Nesneden sınıf tanımı oluşturma
Bu örnek, var olan bir nesneyi şablon olarak kullanarak bir PowerShell sınıf tanımı oluşturur.
Bu kod örneği, satır uzunluğunu azaltmak ve okunabilirliği geliştirmek için sıçramayı kullanır. Daha fazla bilgi için bkz . 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
}
Parametreler
-DoubleQuote
Her işlem hattı nesnesinin dize değerini çift tırnak içine alır.
Tür: | SwitchParameter |
Position: | Named |
Default value: | False |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-FormatString
Her işlem hattı nesnesini birleştirmeden önce nasıl biçimlendirilmesi gerektiğini belirten bir biçim dizesi belirtir. {0}
Geçerli nesneyi temsil etmek için yer tutucuyu kullanın. Küme ayraçlarını ({}
) biçimlendirilmiş dizede tutmanız gerekiyorsa, küme ayraçlarını ({{
ve }}
) iki katına çıkararak bu küme ayraçlarından kaçabilirsiniz.
Daha fazla bilgi için bkz . String.Format yöntemi ve Bileşik Biçimlendirme.
Tür: | String |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-InputObject
Birleştirilecek metni belirtir. Metni içeren bir değişken girin veya nesnelerin dizelere katılmasını sağlayan bir komut veya ifade yazın.
Tür: | PSObject[] |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | False |
-OutputPrefix
Çıkış dizesinden önce eklenen metin. Dize, satır başı (), yeni satır ()`r
ve sekme (`n
`t
gibi özel karakterler içerebilir.
Tür: | String |
Diğer adlar: | op |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-OutputSuffix
Çıkış dizesine eklenen metin. Dize, satır başı (), yeni satır ()`r
ve sekme (`n
`t
gibi özel karakterler içerebilir.
Tür: | String |
Diğer adlar: | os |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-Property
Metne dönüştürülecek bir özelliğin veya özellik ifadesinin adı.
Tür: | PSPropertyExpression |
Position: | 0 |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-Separator
Her işlem hattı nesnesinin metni arasına eklenen metin veya virgül veya noktalı virgül gibi karakterler.
Varsayılan olarak, işlem hattı nesneleri ayırıcı olmadan birleştirilir. Çıkış Alanı Ayırıcısı tercih değişkeni ($OFS
) ayarlanırsa, bu parametre belirtilmediği sürece bu değer kullanılır.
Not
değerini ayarladığınızda $OFS
, değişken olarak sıfırlanana kadar dizelere dönüştürülen dizileri birleştirmek için $null
kullanılır. kullanmanın $OFS
kodunuzun başka bir yerinde istenmeyen etkileri olabileceğinden, bunun yerine Ayırıcı parametresini kullanmak en iyisidir.
Tür: | String |
Position: | 1 |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-SingleQuote
Her işlem hattı nesnesinin dize değerini tek tırnak içine alır.
Tür: | SwitchParameter |
Position: | Named |
Default value: | False |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-UseCulture
Öğe sınırlayıcısı olarak geçerli kültür için liste ayırıcısını kullanır. Bir kültürün liste ayırıcısını bulmak için şu komutu kullanın: (Get-Culture).TextInfo.ListSeparator
.
Tür: | SwitchParameter |
Position: | Named |
Default value: | False |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
Girişler
Çıkışlar
İlişkili Bağlantılar
PowerShell