PowerShell Çok Satırlı Dize


PowerShell'de dize işlemleri yaparken, okumayı kolaylaştırmak, dosya içeriğini okumak ve çok satırlı dizeyi dize işleme için diziye dönüştürmek veya bir değişkende saklanan çok satırlı dizeyi dosyaya yazmak için genellikle çok satırlı dizeleri yazdırmamız gerekir.

PowerShell çok satırlı dize oluşturmak için aşağıdaki farklı yöntemleri kullanın

  • PowerShell Taşıyıcı bir geri tıklama karakteriyle (`r`n) geri döner
  • Çok satırlı dize oluşturmak için yeni satır ortam değişkeni ([environment]::Newline)
  • Çok satırlı dize için PowerShell Here-String ( @ ” “@)
  • Dizeyi tanımlarken Satır Sonu

Bu makalede size PowerShell'de çok satırlı dize oluşturmanın farklı yollarını açıklayacağım.

Çok satırlı dizeyi bir diziye dönüştürmek veya PowerShell kullanarak birden çok satırı bir dosyada depolamak için farklı örnekleri tartışacağız.

PowerShell Geri Tick Karakteri ( `r`n)

Çok satırlı dize oluşturmak için satır başı (r) ve geri tıklama karakteri (`n) gibi PowerShell özel karakterini kullanabilirsiniz

Aşağıdaki betiği kullanarak çok satırlı dizeyi tanımlamak için bir örnek düşünelim

# Using Backtick character for multiline string

"Welcome you to `r`nShellGeek"

Çok satırlı dize oluşturmak için `r`n'yi kullandık, bu dizeyi yeni satıra bölecek.

Yukarıdaki betiğin çıktısı aşağıdaki gibi

PS C:\> # Using Backtick character for multiline string

"Welcome you to `r`nShellGeek"

Welcome you to 
ShellGeek

PS C:\> 

Harika İpucu: Örneklerle PowerShell Dize Birleştirmesi!

PowerShell Newline Ortam Değişkeni

Çok satırlı dize oluşturmak için PowerShell Newline Environment değişkenini ([environment]::Newline) kullanın.

Örneğin, dizeyi "ShellGeek'e Hoş Geldiniz" olarak düşünün ve dizeyi birden çok satırlı dizeye bölün, satır sonu için aşağıdaki betiği kullanın

# Using Newline Environent variable for multiline string
"Welcome you to {0} ShellGeek" -f [environment]::NewLine

[ortam]:: Yeni satır ortam değişkeni aşağıdaki gibi çok satırlı dize oluşturacaktır

PS C:\> # Using Newline Environent variable for multiline string
"Welcome you to {0} ShellGeek" -f [environment]::NewLine
Welcome you to 
 ShellGeek

PS C:\> 

Çok Satırlı Dizeyi Tanımlamak için PowerShell Here-String

Çok satırlı dize oluşturmak için yaygın olarak kullanılan PowerShell Here-String'i kullanabilirsiniz.

Here-String @ ” ile başlar ve “@ ile biter ve bir metin bloğunu bildirmek için kullanılır.

Aşağıdaki gibi çok satırlı dize oluşturma örneğiyle Here-String'i anlayalım.

# Using PowerShell Here-String for multiline string
@"
Welcome you to 
ShellGeek
"@

Yukarıdaki komut dosyasında PowerShell Here-String, satırın başında @ ” ve satırın sonunda “@ ile başlar. Arasında çok satırlı dize bulunur.

Yukarıdaki PowerShell Here-String'in çıktısı aşağıdaki gibidir

PS C:\> # Using PowerShell Here-String for multiline string
@"
Welcome you to 
ShellGeek
"@

Welcome you to 
ShellGeek

PS C:\> 

PowerShell'de Dizeyi Çok Satırlı Dize olarak tanımlayın

String'i tanımlarken satır sonu oluşturabilirsiniz, stringin tamamı " " (çift tırnak) içine alınmalıdır.

Örneğin, aşağıdaki dize çok satırlı çıktı oluşturacaktır

# Create Multiline string while defining string

"Welcome you to
ShellGeek"

Yukarıdaki betiğin çıktısı aşağıdaki gibidir

PS C:\> # Create Multiline string while defining string

"Welcome you to
ShellGeek"
Welcome you to
ShellGeek

PS C:\> 

Harika İpucu: PowerShell'de çok satırlı yorumlar nasıl oluşturulur?

Çift Tırnaklı PowerShell Çok Satırlı Dize

Genellikle dize içinde çift tırnak bulunur; çift tırnaklı çok satırlı dize oluşturmak istiyorsanız, bunu kolayca yapmak için PowerShell Here-String'i kullanın.

#Using PowerShell Here-String for multiline string with double quotes
@"
Welcome you to
"ShellGeek"
"@

Yukarıdaki PowerShell betiğinde, dizede ShellGeek için çift tırnak vardır, çok satırlı komut oluşturmak için PowerShell Here-String'i kullandık.

Yukarıdaki betiğin çıktısı aşağıdaki gibidir

PS C:\> #Using PowerShell Here-String for multiline string with double quotes
@"
Welcome you to
"ShellGeek"
"@

Welcome you to
"ShellGeek"

PS C:\> 

Harika İpucu: PowerShell'de dizeyi tarih saatine nasıl dönüştürebilirim?

Tek Tırnaklı PowerShell Çok Satırlı Dize

Tek tırnaklı çok satırlı dize tanımlamak istiyorsanız aşağıdaki gibi tırnaklı bir dize tanımlamak için PowerShell Here-String'i kullanın.

#Using PowerShell Here-String for multiline string with single quotes
@"
Welcome you to
'ShellGeek'
"@

Yukarıdaki PowerShell betiğinde, bir dizenin ShellGeek için tek bir teklifi vardır, çok satırlı komut oluşturmak için PowerShell Here-String'i kullandık.

Yukarıdaki betiğin çıktısı aşağıdaki gibidir

PS C:\> #Using PowerShell Here-String for multiline string with single quotes
@"
Welcome you to
'ShellGeek'
"@

Welcome you to
'ShellGeek'

PS C:\> 

Harika İpucu: PowerShell'de bir dosyadaki satırlar nasıl sayılır?

PowerShell Çok Satırlı Dizeden Parametreye

Dize manipülasyonu yaparken çok satırlı dizeyi parametreye kaydetmemiz gerekir. Çok satırlı dizeyi aşağıdaki gibi bir parametreye depolamak için PowerShell Here-String'i kullanabilirsiniz.

#Using PowerShell Here-String for multiline string to Parameter

$test = @"
Welcome you to
ShellGeek 
"@

Yukarıdaki PowerShell betiğinde, PowerShell Here-String kullanılarak oluşturulan çok satırlı dizeyi tutmak için bir $test değişkeni oluşturduk.

$test yazdırdığımızda aşağıdaki gibi birden çok satır dize yazdırır

PS C:\> #Using PowerShell Here-String for multiline string to Parameter

$test = @"
Welcome you to
ShellGeek 
"@

PS C:\> $test
Welcome you to
ShellGeek 

PS C:\> 

Harika İpucu: Bir dizeye sekme eklemek için PowerShell sekme karakteri nasıl kullanılır?

PowerShell Çok Satırlı Dizeden Diziye

Dosyayı okuduktan sonra dize manipülasyonu yaparken çok satırlı dizenin çoğu kullanımı, tüm veriler çok satırlı dizede bir değişkende saklanır.

Herhangi bir dizi işlemi gerçekleştirmeniz gerekiyorsa, çok satırlı dizeyi diziye dönüştürün ve daha sonra görevi dizi öğeleri üzerinde gerçekleştirin.

Örneğin aşağıdaki scriptte PowerShell Here-String'i kullanan çok satırlı bir dizeye sahip bir değişkenimiz var.

#Using PowerShell Here-String for multiline string to array

$test = @'
Welcome you to
ShellGeek
'@

$arrTest = $test.Split("`r`n")
Write-Host "Total Elements in array-->" $arrTest.Count

Write-Host "First element in array-->" $arrTest[0]

Write-Host "Second element in array-->" $arrTest[2]

Yukarıdaki PowerShell betiğinde, işlevi 'r`n ile çok satırlı bir dizeye split kullanıyoruz. Birden çok satırdan oluşan bir dizi döndürür ve $arrTest'te bir dizi değişkeninde saklanır.

Write-Host'u kullanarak, çok satırlı dizenin dizi sayısını, dizideki ilk öğeyi vb. yazdırırız.

Harika İpucu: PowerShell'de çok satırlı komut nasıl oluşturulur?

Çözüm

Yukarıdaki makalede, PowerShell'de farklı yöntemler kullanarak çok satırlı dize oluşturmayı ve çok satırlı dizeleri bir parametre veya dizide saklamayı öğrendik.

PowerShell Here-String, çok satırlı bir dize tanımlamak için en sık kullanılan tekniktir.

PowerShell Active Directory komutları ve PowerShell temelleri hakkında daha fazla konuyu ShellGeek ana sayfasında bulabilirsiniz.

Önerilen İçerik

PowerShell'de Çift Tırnaklardan Kaçış

İlgili makaleler