about_Special_Characters

Kısa açıklama

PowerShell'in dizideki sonraki karakterleri nasıl yorumladığını denetleen özel karakter dizilerini açıklar.

Uzun açıklama

PowerShell, standart karakter kümesinin parçası olmayan karakterleri temsil etmek için kullanılan bir dizi özel karakter dizisini destekler. Diziler genellikle kaçış dizileri olarak bilinir.

Kaçış dizileri, mezar vurgusu (ASCII 96) olarak bilinen backtick karakteriyle başlar ve büyük/küçük harfe duyarlıdır. Backtick karakterine kaçış karakteri de denir.

Kaçış dizileri yalnızca çift tırnaklı (") dizelerde bulunduğunda yorumlanır.

PowerShell şu kaçış dizilerini tanır:

Sequence Açıklama
`0 Boş
`a Uyarı
`b Geri Al tuşu
`e Escape (PowerShell 6'da eklendi)
`f Form akışı
`n Yeni satır
`r Satır başı
`t Yatay sekme
`u{x} Unicode kaçış dizisi (PowerShell 6'da eklendi)
`v Dikey sekme

PowerShell'de ayrıştırma işleminin durmasını istediğiniz yeri işaretlemek için özel bir belirteci de vardır. Bu belirteci izleyen tüm karakterler yorumlanmayan değişmez değerler olarak kullanılır.

Özel ayrıştırma belirteçleri:

Sequence Açıklama
-- Kalan değerleri parametre değil bağımsız değişken olarak değerlendirin
--% Aşağıdaki her şeyi ayrıştırmayı durdurma
~ Tilde

Null ('0)

Null (`0) karakteri PowerShell çıkışında boş bir boşluk olarak görünür. Bu işlevsellik, dize sonlandırma veya kayıt sonlandırma göstergeleri gibi null karakterler kullanan metin dosyalarını okumak ve işlemek için PowerShell'i kullanmanıza olanak tanır. Null özel karakter, null değeri depolayan değişkenle $null eşdeğer değildir.

Uyarı ('a)

Uyarı (`a) karakteri, bilgisayarın hoparlörü için bir bip sinyali gönderir. Kullanıcıyı yaklaşan bir eylem hakkında uyarmak için bu karakteri kullanabilirsiniz. Aşağıdaki örnek, yerel bilgisayarın hoparlörine iki bip sinyali gönderir.

for ($i = 0; $i -le 1; $i++){"`a"}

Geri Al ('b)

Geri al (`b) karakteri imleci bir karakter geriye taşır, ancak hiçbir karakteri silmez.

Örnek, yedekleme sözcüğünü yazar ve ardından imleci iki kez geri taşır. Ardından, yeni konumda, sözcüğün ardından bir boşluk yazar.

"backup`b`b out"
back out

Kaçış ('e)

Not

Bu özel karakter PowerShell 6.0'a eklendi.

Kaçış (`e) karakteri en yaygın olarak metnin rengini ve kalın ve altı çizili gibi diğer metin özniteliklerini değiştiren bir sanal terminal dizisi (ANSI kaçış dizisi) belirtmek için kullanılır. Bu diziler imleç konumlandırma ve kaydırma için de kullanılabilir. PowerShell konağı sanal terminal dizilerini desteklemelidir. Bu ANSI dizilerinin $Host.UI.SupportsVirtualTerminal desteklenip desteklenmediğini belirlemek için boole değerini de kontrol edebilirsiniz.

ANSI kaçış dizileri hakkında daha fazla bilgi için Wikipedia'daki ANSI kaçış kodu makalesine bakın.

Aşağıdaki örnek, metnin çıkışını yeşil ön plan rengiyle verir.

$fgColor = 32 # green
"`e[${fgColor}mGreen text`e[0m"
Green text

Form akışı ('f)

Form akışı (`f) karakteri, geçerli sayfayı çıkartan ve sonraki sayfada yazdırmaya devam eden bir yazdırma yönergesidir. Form akışı karakteri yalnızca yazdırılan belgeleri etkiler. Ekran çıkışını etkilemez.

Yeni satır ('n)

Yeni satır (`n) karakteri, karakterin hemen arkasına bir satır sonu ekler.

Bu örnekte, komutta Write-Host satır sonları oluşturmak için yeni satır karakterinin nasıl kullanılacağı gösterilmektedir.

"There are two line breaks to create a blank line`n`nbetween the words."
There are two line breaks to create a blank line

between the words.

Satır başı ('r)

Satır başı (`r) karakteri çıkış imlecini geçerli satırın başına taşır ve yazmaya devam eder. Geçerli satırdaki tüm karakterlerin üzerine yazılır.

Bu örnekte, satır başı öncesinde metnin üzerine yazılır.

Write-Host "These characters are overwritten.`rI want this text instead "

Karakterden önceki `r metnin silinmediğini, üzerine yazıldığını unutmayın.

I want this text instead written.

Yatay sekme ('t)

Yatay sekme (`t) karakteri sonraki sekme durağına ilerler ve bu noktada yazmaya devam eder. Varsayılan olarak, PowerShell konsolunun her sekizinci alanda bir sekme durağı vardır.

Bu örnek, her sütun arasına iki sekme ekler.

"Column1`t`tColumn2`t`tColumn3"
Column1         Column2         Column3

Unicode karakteri ('u{x})

Not

Bu özel karakter PowerShell 6.0'a eklendi.

Unicode kaçış dizisi (`u{x}), kod noktasının onaltılık gösterimine göre herhangi bir Unicode karakteri belirtmenize olanak tanır. Bu, Temel Çok Dilli Düzlemin (>0xFFFF) üzerindeki Unicode karakterleri içerir ve başparmak yukarısı (`u{1F44D}) karakteri gibi emoji karakterlerini içerir. Unicode kaçış dizisi en az bir onaltılık basamak gerektirir ve altıya kadar onaltılık basamağı destekler. Dizisi için en büyük onaltılık değer olur 10FFFF.

Bu örnek yukarı aşağı ok (↕) simgesinin çıkışını oluşturur.

"`u{2195}"

Dikey sekme ('v)

Dikey sekme (`v) karakteri sonraki dikey sekme durağına ilerler ve bu noktada kalan çıkışı yazar. Dikey sekmenin işlenmesi cihaza ve terminale bağlıdır.

Write-Host "There is a vertical tab`vbetween the words."

Aşağıdaki örneklerde bazı yaygın ortamlarda dikey sekmenin işlenmiş çıkışı gösterilmektedir.

Windows Konsolu ana bilgisayar uygulaması, (`v) öğesini fazladan boşluk eklenmeden özel bir karakter olarak yorumlar.

There is a vertical tab♂between the words.

Windows Terminali dikey sekme karakterini satır başı ve satır beslemesi olarak işler. Çıktının geri kalanı bir sonraki satırın başına yazdırılır.

There is a vertical tab
between the words.

Yazıcılarda veya unix tabanlı konsollarda dikey sekme karakteri bir sonraki satıra ilerler ve kalan çıkışı o noktada yazar.

There is a vertical tab
                       between the words.

Satır devamlılığı

Backtick karakteri, PowerShell ayrıştırıcısına komutun sonraki satırda devam ettiğini belirten bir sinyal olarak satırın sonunda da kullanılabilir. Daha fazla bilgi için bkz . about_Parsing.

Parametre sonu belirteci (--)

Parametre sonu belirteci (--), bunu izleyen tüm bağımsız değişkenlerin, çevrelerine çift tırnak yerleştirilmiş gibi gerçek biçimlerinde geçirileceklerini belirtir. Örneğin, kullanarak -- tırnak işareti kullanmadan veya parametre olarak yorumlanmadan dizenin -InputObject çıkışını alabilirsiniz:

Write-Output -- -InputObject
-InputObject

Bu, POSIX Kabuğu ve Yardımcı Programlar belirtiminde belirtilen bir kuraldır.

Belirteç ayrıştırmayı durdurma (--%)

Ayrıştırmayı durdurma (--%) belirteci, PowerShell'in dizeleri PowerShell komutları ve ifadeleri olarak yorumlamasını engeller. Bu, bu dizelerin yorumlanması için diğer programlara geçirilmesini sağlar.

Ayrıştırma durdurma belirtecini program adından sonra ve hatalara neden olabilecek program bağımsız değişkenlerinden önce yerleştirin.

Bu örnekte komut, Icacls ayrıştırma durdurma belirtecini kullanır.

icacls X:\VMS --% /grant Dom\HVAdmin:(CI)(OI)F

PowerShell aşağıdaki dizeyi adresine Icaclsgönderir.

X:\VMS /grant Dom\HVAdmin:(CI)(OI)F

Bu ikinci örnekte, değişkeni $HOME komutuna cmd.exe /c echo iki kez geçiririz.

cmd.exe /c echo $HOME --% $HOME

Çıktı, değişkeninin değerinin öğesine geçirilmesi cmdiçin ilk örneğinin $HOME PowerShell tarafından yorumlandığını gösterir. İkinci örneği $HOME stop-ayrıştırma belirtecinden sonra gelir, bu nedenle değişmez dize olarak geçirilir.

C:\Users\username  $HOME

Ayrıştırmayı durdurma belirteci hakkında daha fazla bilgi için bkz . about_Parsing.

Tilde (~)

tilde karakterinin (~) PowerShell'de özel bir anlamı vardır. PowerShell bir yolun başında PowerShell komutları ile kullanıldığında, PowerShell tilde karakterini kullanıcının giriş dizinine genişletir. Tilde karakterini bir yolun başka herhangi bir yerinde kullanırsanız, sabit karakter olarak değerlendirilir.

Ayrıştırmayı durdurma belirteci hakkında daha fazla bilgi için bkz . about_Parsing.

Ayrıca bkz.