Aracılığıyla paylaş


Join-String

İşlem hattındaki nesneleri tek bir dizede birleştirir.

Sözdizimi

Default EnterprisePublishing

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

Description

Join-String cmdlet'i, 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 $OFSvarsayılan ayırıcı ile birleştirilir.

Uyarı

$OFS değerini ayarladığınızda, değişkeni $nullolarak sıfırlanana kadar dizelere dönüştürülen dizileri birleştirmek için kullanılır. $OFS kullanmanın 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üsünün tüm dizin adlarını almak için C:\ parametresini kullanır. Nesneler Join-String'a ulaşmak üzere işlem hattından gönderilir. Özelliği 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 (, ) kullanılacağını belirtir.

Get-ChildItem nesneleri System.IO.DirectoryInfo ve Join-String nesneleri system.string 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üsünün tüm dizin adlarını almak için C:\ parametresini kullanır. Nesneler Join-String'a ulaşmak üzere işlem hattından gönderilir.

Özelliği parametre betiği bloğu, her nesnenin $_ özellik 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 başlayan hizmetleri belirtmek için ile se* parametresini kullanır. Yıldız işareti (*), herhangi bir karakter için joker karakterdir.

Nesneler, hizmet adlarını belirtmek için Join-String parametresini kullanan işlem hattına gönderilir. Ayırıcı parametresi, satır başı (`r), yeni satır (`n) ve sekmeyi (`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.

Parametre özellikleri

Tür:SwitchParameter
Default value:False
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

DoubleQuote
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-FormatString

Her işlem hattı nesnesini birleştirmeden önce nasıl biçimlendirilmesi gerektiğini belirten bir biçim dizesi belirtir. Geçerli nesneyi temsil etmek için {0} yer tutucuyu kullanın. Küme ayraçlarını ({}) biçimlendirilmiş dizede tutmanız gerekiyorsa, küme ayraçlarını iki katına çıkararak ({{ ve }}).

Daha fazla bilgi için bkz. String.Format yöntemi ve Bileşik Biçimlendirme.

Parametre özellikleri

Tür:String
Default value:None
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

Format
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer: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.

Parametre özellikleri

Tür:

PSObject[]

Default value:None
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

(All)
Position:Named
Zorunlu:False
İşlem hattından gelen değer:True
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-OutputPrefix

Çıkış dizesinden önce eklenen metin. Dize, satır başı (`r), yeni satır (`n) ve sekme (`t) gibi özel karakterler içerebilir.

Parametre özellikleri

Tür:String
Default value:None
Joker karakterleri destekler:False
DontShow:False
Diğer adlar:op

Parametre kümeleri

(All)
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-OutputSuffix

Çıkış dizesine eklenen metin. Dize, satır başı (`r), yeni satır (`n) ve sekme (`t) gibi özel karakterler içerebilir.

Parametre özellikleri

Tür:String
Default value:None
Joker karakterleri destekler:False
DontShow:False
Diğer adlar:os

Parametre kümeleri

(All)
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-Property

Metne dönüştürülecek bir özelliğin veya özellik ifadesinin adı.

Parametre özellikleri

Tür:PSPropertyExpression
Default value:None
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

(All)
Position:0
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer: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. Çıktı Alanı Ayırıcı tercih değişkeni ($OFS) ayarlanırsa, bu parametre belirtilmedikçe bu değer kullanılır.

Uyarı

$OFS değerini ayarladığınızda, değişkeni $nullolarak sıfırlanana kadar dizelere dönüştürülen dizileri birleştirmek için kullanılır. $OFS kullanmanın kodunuzun başka bir yerinde istenmeyen etkileri olabileceğinden, bunun yerine Ayırıcı parametresini kullanmak en iyisidir.

Parametre özellikleri

Tür:String
Default value:None
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

(All)
Position:1
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-SingleQuote

Her işlem hattı nesnesinin dize değerini tek tırnak içine alır.

Parametre özellikleri

Tür:SwitchParameter
Default value:False
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

SingleQuote
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer: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.

Parametre özellikleri

Tür:SwitchParameter
Default value:False
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

(All)
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

CommonParameters

Bu cmdlet yaygın parametreleri destekler: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction ve -WarningVariable. Daha fazla bilgi için bkz. about_CommonParameters.

Girişler

PSObject

Çıkışlar

String