Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Editoryal notu
Önemli
Windows PowerShell Dil Belirtimi 3.0 Aralık 2012'de yayımlanmıştır ve Windows PowerShell 3.0'ı temel alır. Bu belirtim PowerShell'in geçerli durumunu yansıtmaz. Bu belgeleri geçerli durumu yansıtacak şekilde güncelleştirme planı yoktur. Bu belgeler, geçmişe yönelik başvuru için burada sunulmuştur.
Belirtim belgesi, Şu konumdaki Microsoft İndirme Merkezi'nden bir Microsoft Word belgesi olarak kullanılabilir: https://www.microsoft.com/download/details.aspx?id=36389 Bu Word belgesi burada Microsoft Learn'de sunu için dönüştürülmüştür. Dönüştürme sırasında, Docs platformu için biçimlendirmeye uyum sağlamak için bazı editoryal değişiklikler yapılmıştır. Bazı yazım hataları ve küçük hatalar düzeltildi.
3.1 Sağlayıcılar ve sürücüler
sağlayıcı, komut satırından kolayca erişilmeyecek verilere ve bileşenlere erişim sağlar. Veriler, dosya sistemi sürücüsüne benzeyen tutarlı bir biçimde sunulur.
Sağlayıcı tarafından erişime açılan veriler birsürücüsünde görülür ve verilere tıpkı bir disk sürücüsündeki gibi bir yol üzerinden erişilir. Her sağlayıcı için yerleşik cmdlet'ler, sağlayıcı sürücüsündeki verileri yönetir.
PowerShell, farklı veri deposu türlerine erişmek için aşağıdaki yerleşik sağlayıcı kümesini içerir:
| Sağlayıcı | Sürücü Adı | Açıklama | Başv. |
|---|---|---|---|
| Diğer Ad | Diğer ad: | PowerShell takma adları | §3.1.1 |
| Çevre | Env: | Ortam değişkenleri | §3.1.2 |
| Dosya Sistemi | A:, B:, C:, ... | Disk sürücüleri, dizinler ve dosyalar | §3.1.3 |
| Fonksiyon | Fonksiyon: | PowerShell işlevleri | §3.1.4 |
| Değişken | Değişken: | PowerShell değişkenleri | §3.1.5 |
Windows PowerShell:
| Sağlayıcı | Sürücü Adı | Açıklama |
|---|---|---|
| Sertifika | Sertifika | Dijital imzalar için x509 sertifikaları |
| Kayıt defteri | HKLM: (HKEY_LOCAL_MACHINE), HKCU: (HKEY_CURRENT_USER) | Windows kayıt defteri |
| WSMan | WSMan: | WS-Management yapılandırma bilgileri |
Aşağıdaki cmdlet'ler sağlayıcılar ve sürücülerle ilgilenir:
- Get-PSProvider: Bir veya daha fazla sağlayıcı hakkında bilgi alır
- get-PSDrive: Bir veya daha fazla sürücü hakkında bilgi alır
Sağlayıcıyı temsil eden nesnenin türü §4.5.1içinde açıklanmıştır. Bir sürücüyü temsil eden nesnenin türü §4.5.2içinde açıklanmıştır.
3.1.1 Takma Adlar
alternatif isim, bir komut için başka bir addır. Bir komutun birden çok diğer adı olabilir ve özgün adı ve tüm diğer adları birbirinin yerine kullanılabilir. Takma ad yeniden atanabilir. Takma ad bir öğedir (§3.3).
Bir takma ad başka bir takma ad olarak atanabilir; ancak, yeni takma ad orijinal komutun bir takma adı değildir.
Sağlayıcı Alias, yalnızca takma adları temsil eden nesneleri içeren bir düz ad alanıdır. Değişkenlerin alt öğeleri yok.
PowerShell yerleşik bir dizi takma adla gelir.
Aşağıdaki cmdlet'ler diğer adlarla ilgilenir:
- New-Alias: Bir diğer ad oluşturur
- Set-Alias: Bir veya daha fazla takma ad oluşturur veya değiştirir
- Get-Alias: Bir veya daha fazla takma ad hakkında bilgi alır
- Takma Ad Dışa Aktar: Bir veya daha fazla takma adı bir dosyaya aktarır
New-Aliaskullanılarak bir komut için bir diğer ad oluşturulduğunda, bu komutun parametreleri bu diğer adla eklenemez. Ancak Takma Ad: ad alanında bir değişkene doğrudan atama, parametrelerin eklenmesine izin verir.
Not
Ancak, istenen tüm parametrelerle bu komutun çağrısını içermekten başka bir şey yapmayan bir işlev oluşturmak ve bu işleve bir diğer ad atamak basit bir konudur.
Bir takma adı temsil eden bir nesnenin türü §4.5.4açıklanmıştır.
Diğer ad nesneleri sürücüde depolanır: (§3.1).
3.1.2 Ortam değişkenleri
PowerShell Ortam sağlayıcısı işletim sistemi ortam değişkenlerinin alınmasına, eklenmesine, değiştirilmesine, temizlenmesine ve silinmesine olanak tanır.
Sağlayıcı Ortamı, yalnızca ortam değişkenlerini temsil eden nesneleri içeren düz bir ad alanıdır. Değişkenlerin alt öğeleri yok.
Ortam değişkeninin adı eşittir işaretini (=) içeremez.
Ortam değişkenlerinde yapılan değişiklikler yalnızca geçerli oturumu etkiler.
Ortam değişkeni bir öğedir (§3.3).
Ortam değişkenini temsil eden nesnenin türü §4.5.6içinde açıklanmıştır.
Ortam değişkeni nesneleri Env: (§3.1) sürücüsünde depolanır.
3.1.3 Dosya sistemi
PowerShell FileSystem sağlayıcısı dizinlerin ve dosyaların oluşturulmasına, açılmasına, değiştirilmesine ve silinmesine izin verir.
FileSystem sağlayıcısı, temel alınan dosya sistemini temsil eden nesneler içeren hiyerarşik bir ad alanıdır.
Dosyalar A:, B:, C: gibi adlara sahip sürücülerde depolanır (§3.1). Dizinlere ve dosyalara yol gösterimi (§3.4) kullanılarak erişilir.
Dizin veya dosya bir öğedir (§3.3).
3.1.4 İşlevleri
PowerShell İşlevi sağlayıcısı işlevlerin (§8.10) ve filtrelerin (§8.10.1) alınmasına, eklenmesine, değiştirilmesine, temizlenmesine ve silinmesine olanak tanır.
provider İşlevi, yalnızca işlevi ve filtre nesnelerini içeren düz bir ad alanıdır. İşlevlerin veya filtrelerin alt öğeleri yoktur.
İşlevlerde yapılan değişiklikler yalnızca geçerli oturumu etkiler.
İşlev bir öğedir (§3.3).
İşlevi temsil eden nesnenin türü §4.5.10açıklanmıştır. Filtreyi temsil eden nesnenin türü §4.5.11içinde açıklanmıştır.
İşlev nesneleri sürücüde depolanır İşlev: (§3.1).
3.1.5 Değişkenleri
Değişkenler doğrudan PowerShell dilinde tanımlanabilir ve işlenebilir.
Sağlayıcı Değişkeni, yalnızca değişkenleri temsil eden nesneleri içeren düz bir ad alanıdır. Değişkenlerin alt öğeleri yok.
Aşağıdaki cmdlet'ler değişkenlerle de ilgilenir:
- New-Variable: Değişken oluşturur
- Set-Variable: Bir veya daha fazla değişkenin özelliklerini oluşturur veya değiştirir
- Değişken-Al: Bir ya da daha fazla değişkenin bilgisini alır
- Clear-Variable: Bir veya daha fazla değişkenin değerini siler
- Remove-Variable: Bir veya daha fazla değişkeni siler
Değişken bir öğe olduğundan (§3.3), öğeyle ilgili cmdlet'lerin çoğu tarafından işlenebilir.
Bir değişkeni temsil eden nesnenin türü §4.5.3içinde açıklanmıştır.
Değişken nesneleri sürücü Değişkeninde depolanır: (§3.1).
3.2 Çalışma konumları
geçerli çalışma konumu, komutların işaret ettiği varsayılan konumdur. Bu, komut çağrıldığında açık bir yol (§3.4) sağlanmazsa kullanılan konumdur. Bu konum , geçerli sürücü'i içerir.
Bir PowerShell konağı birden çok sürücüye sahip olabilir ve bu durumda her sürücünün kendi geçerli konumu vardır.
Bir sürücü adı dizin belirtilmeden verildiğinde, bu sürücünün varsayılan geçerli konumu ima edilir.
Geçerli çalışma konumu bir yığına kaydedilebilir ve ardından yeni bir konuma ayarlanabilir. Daha sonra, kaydedilen konum bu yığından geri yüklenebilir ve geçerli çalışma konumu yapılabilir. İki tür konum yığını vardır: varsayılan çalışma konumu yığınıve kullanıcı tanımlı olan, adı olan sıfır veya daha fazla çalışma konumu yığını. Oturum başladığında, varsayılan çalışma konumu yığını da
Aşağıdaki cmdlet'ler konumlarla ilgilenir:
- Konum Ayarlama: Geçerli çalışma konumunu oluşturur
- Get-Location: Belirtilen sürücü veya yığınlar için geçerli çalışma konumunu veya belirtilen yığınların çalışma konumlarını belirler
- Push-Location: Geçerli konumu belirtilen konum yığınının en üstüne ekler
- Pop-Location: Geçerli çalışma konumunu belirtilen konum yığınının en üstünden geri yükler
Bir çalışma konumunu ve bir çalışma konumları yığınını temsil eden nesne türleri §4.5.5içinde açıklanmıştır.
3.3 Öğe
öğe bir diğer addır (§3.1.1), bir değişkendir (§3.1.5), bir işlevdir (§3.1.4), bir ortam değişkenidir (§3.1.2) veya dosya sistemindeki bir dosya ya da dizindir (§3.1.3).
Aşağıdaki cmdlet'ler öğelerle ilgilenir:
- New-Item: Yeni bir öğe oluşturur
- Öğe Ayarla: Bir veya daha fazla öğenin değerini değiştirir
- Öğe Al: Belirtilen konumdaki öğeleri alır
- Get-ChildItem: Belirtilen konumdaki öğeleri ve alt öğeleri alır
- Öğe Kopyala: Bir veya daha fazla öğeyi bir konumdan diğerine kopyalar
- Öğeyi-Taşı: Bir veya daha fazla öğeyi bir konumdan diğerine taşır
- Öğeyi Yeniden Adlandırma: Öğeyi yeniden adlandırır
- Invoke-Item: Bir veya daha fazla öğede varsayılan eylemi gerçekleştirir
- Öğeyi Temizle: Bir veya daha fazla öğenin içeriğini siler, ancak öğeleri silmez (bkz.
- öğeyi kaldır
: Belirtilen öğeleri siler
Aşağıdaki cmdlet'ler öğelerin içeriğiyle ilgilenir:
- get-content: Öğenin içeriğini alır
- İçerik Ekle: Belirtilen öğelere içerik ekler
- Set-Content: Bir öğedeki içeriği yazar veya değiştirir
- İçeriği Temizle: Öğenin içeriğini siler
Bir dizini temsil eden nesnenin türü §4.5.17içinde açıklanmıştır. Dosyayı temsil eden nesnenin türü §4.5.18içinde açıklanmıştır.
3.4 Yol adları
PowerShell sağlayıcısı aracılığıyla erişilebilen bir veri deposundaki tüm öğeler yol adlarıyla benzersiz olarak tanımlanabilir. Bir yol adı, bir öğe adının, öğenin bulunduğu kapsayıcı ve alt kapsayıcıların ve bu kapsayıcılara erişilen PowerShell sürücüsünün bir kombinasyonudur.
Yol adları iki türden birine ayrılır: tam nitelikli ve göreceli. tam nitelikli yol adı bir yolu oluşturan tüm öğelerden oluşur. Aşağıdaki söz dizimi, tam nitelikli yol adındaki öğeleri gösterir.
İpucu
Söz dizimi tanımlarındaki ~opt~ gösterimi söz diziminde sözcüksel varlığın isteğe bağlı olduğunu gösterir.
path:
provider~opt~ drive~opt~ containers~opt~ item
provider:
module~opt~ provider ::
module:
module-name \
drive:
drive-name :
containers:
container \
containers container \
modül adı üst modülü ifade eder.
sağlayıcı, veri deposuna erişilen PowerShell sağlayıcısını ifade eder.
sürücü, belirli bir PowerShell sağlayıcısı tarafından desteklenen PowerShell sürücüsüne başvurur.
kapsayıcı, diğer kapsayıcıları içerebilen başka kapsayıcılar içerebilir, ve bu şekilde devam ederek son kapsayıcı öğeyiiçerir. Kapsayıcılar, veri deposunda bulundukları hiyerarşik sırada belirtilmelidir.
Yol adı örneği aşağıda verilmiştir:
E:\Accounting\InvoiceSystem\Production\MasterAccount\MasterFile.dat
Yoldaki son öğe başka öğeler içeriyorsa,
Bazı durumlarda, tam yol adı gerekli değildir; göreli yol adı yeterli olacaktır. göreli yol adı, geçerli çalışma konumunu temel alır. PowerShell, bir öğenin geçerli çalışma konumuna göre yerini belirleyerek tanımlanmasını sağlar. Göreli yol adı bazı özel karakterlerin kullanılmasını içerir. Aşağıdaki tabloda bu karakterlerin her biri açıklanmakta ve görece yol adları ile tam nitelikli yol adları örnekleri verilmektedir. Tablodaki örnekler, C:\Windows olarak ayarlanan geçerli çalışma dizinini temel alır:
| Simgesi | Açıklama | göreli yol | Tam nitelikli yol |
|---|---|---|---|
. |
Geçerli çalışma konumu | .\System |
C:\Windows\System |
.. |
Geçerli çalışma konumunun ebeveyni | ..\Program Files |
C:\Program Files |
\ |
Geçerli çalışma konumunun sürücü kökü | \Program Files |
C:\Program Files |
| hiç kimse | Özel karakter yok | System |
C:\Windows\System |
Bir komutta bir yol adı kullanmak için, bu adı tam nitelikli veya göreceli bir yol adı olarak girin.
Aşağıdaki cmdlet'ler yollarla ilgilenir:
- Convert-Path: PowerShell yolundan PowerShell sağlayıcı yoluna bir yol dönüştürür
- Birleştirme Yolu
: Bir yolu ve alt yolu tek bir yolda birleştirir - Çözümle-Yol: Bir yoldaki joker karakterleri çözümler
- Bölünmüş Yol: Yolun belirtilen bölümünü verir
- Test Yolu: Bir yolun öğelerinin var olup olmadığını veya bir yolun iyi biçimlendirilmiş olup olmadığını belirler
Bazı cmdlet'ler (Add-Content ve Copy-Item dosya filtrelerini kullanır.
dosya filtresi, bir dizi yol arasından seçim ölçütlerini belirtmeye yönelik bir mekanizmadır.
Çözümlenen yolu temsil eden nesne türü §4.5.5içinde açıklanmıştır. Yollar genellikle dize olarak işlenir.
3.5 Kapsamlar
3.5.1 Giriş
Ad bir değişkeni, işlevi, diğer adı, ortam değişkenini veya sürücüyü gösterebilir. Aynı isim, kodun farklı yerlerinde farklı öğeleri gösterebilir. Bir adın ifade ettiği her farklı öğe için, bu ad yalnızca kapsamıolarak adlandırılan betik metninin bölgesinde görünür. Aynı adla belirtilen farklı öğelerin farklı kapsamları vardır veya farklı ad alanlarındadır.
Kapsamlar iç içe geçebilir; bu durumda, dış kapsam ebeveyn kapsam olarak adlandırılır ve herhangi bir iç içe geçmiş kapsamlar o ebeveynin alt kapsamları olarak kabul edilir. Bir adın kapsamı, özel yapılmadığı sürece tanımlandığı kapsam ve tüm alt kapsamlardır. Alt kapsamda tanımlanan bir ad, özgün kapsamında, ebeveyn kapsamlarda aynı adla tanımlanan tüm öğeleri gizler.
Noktalı kaynak gösterimi (§3.5.5) kullanılmadığı sürece, aşağıdakilerin her biri yeni bir kapsam oluşturur:
- Betik dosyası
- Betik bloğu
- İşlev veya filtre
Aşağıdaki örneği göz önünde bulundurun:
# Start of script
$x = 2; $y = 3
Get-Power $x $y
# Function defined in script
function Get-Power([int]$x, [int]$y) {
if ($y -gt 0) {
return $x * (Get-Power $x (--$y))
} else {
return 1
}
}
# End of script
$x ve betikte oluşturulan $y değişkenlerin kapsamı, içinde tanımlanan işlev de dahil olmak üzere bu betiğin gövdesidir. İşlev Get-Power aynı adlara sahip iki parametre tanımlar.
Her işlevin kendi kapsamı olduğundan, bu değişkenler üst kapsamda tanımlananlardan farklıdır ve bunları üst kapsamdan gizler. İşlev kapsamı betik kapsamının içinde iç içedir.
İşlevin kendisini özyinelemeli olarak çağırdığını unutmayın. Her yaptığında, her biri kendine ait değişkenleri $x ve $yolan başka bir iç içe kapsam oluşturur.
burada iç içe kapsamları ve adların yeniden kullanılmasını gösteren daha karmaşık bir örnek verilmiştir:
# start of script scope
$x = 2 # top-level script-scope $x created
# $x is 2
F1 # create nested scope with call to function F1
# $x is 2
F3 # create nested scope with call to function F3
# $x is 2
function F1 { # start of function scope
# $x is 2
$x = $true # function-scope $x created
# $x is $true
& { # create nested scope with script block
# $x is $true
$x = 12.345 # scriptblock-scope $x created
# $x is 12.345
} # end of scriptblock scope, local $x goes away
# $x is $true
F2 # create nested scope with call to function F2
# $x is $true
} # end of function scope, local $x goes away
function F2 { # start of function scope
# $x is $true
$x = "red" # function-scope $x created
# $x is "red"
} # end of function scope, local $x goes away
function F3 { # start of function scope
# $x is 2
if ($x -gt 0) {
# $x is 2
$x = "green"
# $x is "green"
} # end of block, but not end of any scope
# $x is still "green"
} # end of function scope, local $x goes away
# end of script scope
3.5.2 Kapsam adları ve numaraları
PowerShell aşağıdaki kapsamları destekler:
Genel: Bu en üst düzey kapsamdır. Tüm otomatik ve tercih değişkenleri bu kapsamda tanımlanır. Genel kapsam, diğer kapsamların üst kapsamıdır ve bunların hepsi genel kapsamın alt kapsamlarıdır.
Yerel: Bu, bir betik, betik bloğu veya işlev içindeki herhangi bir yürütme noktasındaki geçerli kapsamdır. Her kapsam yerel kapsam olabilir.
Betik: Yürütülen her betik dosyası için bu kapsam mevcuttur. Betik kapsamı, bu betikten oluşturulan tüm kapsamların ana kapsamıdır. Betik bloğunun kendi betik kapsamı yoktur; aksine, betik kapsamı en yakın üst betik dosyasının kapsamıdır. Modül kapsamı diye bir şey olmasa da, betik kapsamı aynı amaca hizmet eder.
İsimler özel olarak tanımlanabilir, bu durumda, alt kapsamlar da dahil olmak üzere ebeveyn kapsamlarının dışında görünmezler. Özel kavramı, ayrı bir kapsam değil, yerel kapsam için başka bir addır; ek olarak, yazılabilir bir konum olarak kullanılırsa ismi gizler.
Kapsamlar, birbirine göreli konumlarını gösteren bir sayı ile tanımlanabilir. Kapsam 0 yerel kapsamı, kapsam 1 ise 1 nesil bir üst kapsamı, kapsam 2 ise 2 nesil bir üst kapsamı vb. belirtir. (Kapsam numaraları değişkenleri işleyen cmdlet'ler tarafından kullanılır.)
3.5.3 Değişken adı kapsamı
Aşağıdaki üretimde gösterildiği gibi, altı farklı kapsamdan herhangi biriyle bir değişken adı belirtilebilir:
variable-scope:
Global:
Local:
Private:
Script:
Using:
Workflow:
variable-namespace
Kapsam isteğe bağlıdır. Aşağıdaki tabloda her birinin olası tüm bağlamlardaki anlamı gösterilmektedir. Ayrıca kapsam açıkça belirtilmediğinde kapsamı da gösterir:
| Kapsam Değiştirici | Betik Dosyası İçinde | Betik Bloğu İçinde | İşlev İçinde |
|---|---|---|---|
| Küresel | Genel kapsam | Genel kapsam | Genel kapsam |
| Senaryo | En yakın üst komut dosyasının kapsamı veya eğer en yakın üst komut dosyası yoksa, Genel | En yakın üst komut dosyasının kapsamı veya eğer en yakın üst komut dosyası yoksa, Genel | En yakın üst komut dosyasının kapsamı veya eğer en yakın üst komut dosyası yoksa, Genel |
| Özel | Genel/Betik/Yerel kapsam | Yerel kapsam | Yerel kapsam |
| Yerel | Genel/Betik/Yerel kapsam | Yerel kapsam | Yerel kapsam |
| Kullanma | Uygulama tanımlı | Uygulama tanımlı | Uygulama tanımlı |
| İş Akışı | Uygulama tanımlı | Uygulama tanımlı | Uygulama tanımlı |
| Hiç kimse | Genel/Betik/Yerel kapsam | Yerel kapsam | Yerel kapsam |
Değişken kapsam bilgileri, içinde listelenen cmdlet ailesi kullanılırken de belirtilebilir (§3.1.5). Özellikle, daha fazla bilgi için Scopeparametresine ve Option Private ve Option AllScope parametrelerine bakın.
Kapsam Using: değiştirici, , Start-Jobgibi Invoke-Commandcmdlet'ler aracılığıyla veya satır içi bir deyim içinde betikleri çalıştırırken başka bir kapsamda tanımlanan değişkenlere erişmek için kullanılır. Mesela:
$a = 42
Invoke-Command --ComputerName RemoteServer { $Using:a } # returns 42
workflow foo
{
$b = "Hello"
inlinescript { $Using:b }
}
foo # returns "Hello"
Kapsam iş akışı, iş akışında tanımlanan bir değişkene erişmek için paralel ifade veya sıralı ifade kullanılır.
3.5.4 İşlev adı kapsamı
İşlev adı dört farklı kapsamdan birine de sahip olabilir ve bu adın görünürlüğü değişkenlerle aynıdır (§3.5.3).
3.5.5 Nokta kaynağı notasyonu
Bir betik dosyası, betik bloğu veya işlev başka bir betik dosyası, betik bloğu veya işlev içinden yürütülürse, yürütülen betik dosyası yeni bir iç içe kapsam oluşturur. Mesela
Script1.ps1
& "Script1.ps1"
& { ... }
FunctionA
Ancak, noktalı kaynak gösterimi
. Script2.ps1
. "Script2.ps1"
. { ... }
. FunctionA
3.5.6 Modülleri
Tıpkı bir üst düzey betik dosyasının hiyerarşik iç içe kapsam ağacının kökünde olması gibi, her modül de o şekildedir (§3.14). Ancak, varsayılan olarak, yalnızca bir modül tarafından dışa aktarılan adlar, içeri aktarma bağlamında adıyla erişilebilir. import-module
3.6 Yalnızca Okunabilir ve Sabit Özellikler
Değişkenler ve diğer adlar, bir dizi özellik içeren nesneler tarafından açıklanır. Bu özellikler, iki cmdlet ailesi (§3.1.5, §3.1.1) tarafından ayarlanır ve değiştirilir. Bu tür özelliklerden biri, ReadOnly veya Sabit olarak ayarlanabilen Seçenekler'dir (Option parametresi kullanılarak). ReadOnly olarak işaretlenmiş bir değişken veya diğer ad kaldırılabilir ve Force parametresi belirtilirse özellikleri değiştirilebilir. Ancak, Sabit olarak işaretlenmiş bir değişken veya diğer ad kaldırılamaz veya özellikleri değiştirilemez.
3.7 Yöntem aşırı yüklemeleri ve çağrı çözümlemesi
3.7.1 Giriş
§1'de belirtildiği gibi, yürütme ortamı tarafından sağlanan bir dış yordam (ve PowerShell dışında bir dilde yazılmış)
Bir yöntemin adı ve parametrelerinin sayısı ve türleri topluca bu yöntemin imzasıolarak adlandırılır. (İmzanın yöntemin dönüş türünü içermediğini unutmayın.) Yürütme ortamı, bir türün her birinin farklı bir imzaya sahip olması koşuluyla aynı ada sahip birden çok yönteme sahip olmasına izin verebilir. Bazı yöntemlerin birden çok sürümü tanımlandığında, bu yönteminaşırı yüklenmiş Absadlı bir yöntem kümesi içerir. Bu kümedeki yöntemler aşağıdaki imzalara sahiptir:
Abs(decimal)
Abs(float)
Abs(double)
Abs(int)
Abs(long)
Abs(SByte)
Abs(Int16)
Bu durumda, tüm yöntemler aynı sayıda bağımsız değişkene sahiptir; imzaları yalnızca bağımsız değişken türüne göre farklılık gösterir.
Başka bir örnek, her dizinin başlangıcından (varsayılan olarak) veya belirli bir öğeden başlayarak bir diziden diğerine öğe aralığını kopyalayan Copy adlı bir yöntem kümesi içeren Dizi (§4.3.2) türünü içerir. Bu kümedeki yöntemler aşağıdaki imzalara sahiptir:
Copy(Array, Array, int)
Copy(Array, Array, long)
Copy(Array, int, Array, int, int)
Copy(Array, long, Array, long, long)
Bu durumda, imzalar bağımsız değişken türüne ve bazı durumlarda bağımsız değişken numarasına göre farklılık gösterir.
Aşırı yüklenmiş yöntemlere yapılan çoğu çağrıda, geçirilen bağımsız değişkenlerin sayısı ve türü aşırı yüklemelerden biriyle tam olarak eşleşmektedir ve seçilen yöntem açıktır. Ancak, böyle bir durum söz konusu değilse, çağrılabilecek fazla yüklenmiş sürüm (varsa) için bir çözüm yolu bulunmalıdır. Mesela
[Math]::Abs([byte]10) # no overload takes type byte
[array]::Copy($source, 3, $dest, 5L, 4) # both int and long indexes
Diğer örnekler, birçok aşırı yüklenmiş yönteme sahip olan "string" (System.String) türünü içerir.
PowerShell,aşırı yüklenmiş bir imzayla tam olarak eşleşmeyen yöntem çağrılarını çözümlemeye yönelik kurallara sahip olsa da, PowerShell kendisi aşırı yüklenmiş yöntemleri tanımlamak için bir yol sağlamaz.
Not
Düzenleyicinin Notu: PowerShell 5.0, betik tabanlı sınıfları tanımlama özelliğini ekledi. Bu sınıflar aşırı yüklenmiş yöntemler içerebilir.
3.7.2 Yöntem aşırı yükleme çözümü
Bir bağımsız değişken ifadeleri listesine sahip bir yöntem çağrısı (§7.1.3) ve bir aday yöntem kümesi (yani, potansiyel çağrılabilir yöntemler) verildiğinde, en iyi yöntemi seçme mekanizması aşırı yükleme çözümlemesi olarak adlandırılır.
Geçerli aday yöntemleri kümesi (§3.7.3) göz önüne alındığında, bu kümedeki en iyi yöntem seçilir. Küme yalnızca bir yöntem içeriyorsa, bu yöntem en iyi yöntemdir. Aksi takdirde, en iyi yöntem, §3.7.4'de gösterilen kuralları kullanarak verilen bağımsız değişken listesiyle ilgili olarak diğer tüm yöntemlerden daha iyi olan tek yöntemdir. Diğer tüm yöntemlerden daha iyi bir yöntem yoksa, yöntem çağırma belirsizdir ve bir hata bildirilir.
En iyi yöntem, çağrıldığı bağlamda erişilebilir olmalıdır. Örneğin, bir PowerShell betiği özel veya korumalı bir yöntemi çağıramaz.
Statik yönteme yapılan çağrı için en iyi yöntem statik bir yöntem olmalı ve bir örnek yöntemine yapılan çağrı için en iyi yöntem bir örnek yöntemi olmalıdır.
3.7.3 Uygulanabilir yöntem
Aşağıdakilerden biri doğru olduğunda A bağımsız değişken listesiyle ilgili olarak bir yöntemin geçerli olduğu söylenir:
- A'daki bağımsız değişkenlerin sayısı, yöntemin kabul eden parametre sayısıyla aynıdır.
- yöntemi M gerekli parametrelerine ve N isteğe bağlı parametrelerine sahiptir ve A'daki bağımsız değişkenlerin sayısı M'den büyük veya M'ye eşit, ancak N'den küçüktür.
- yöntemi değişken sayıda bağımsız değişken kabul eder ve A'daki bağımsız değişken sayısı yöntemin kabul eden parametre sayısından fazladır.
Uygun sayıda bağımsız değişkene sahip olmanın yanı sıra, A'daki her bağımsız değişkenin bağımsız değişkenin parametre geçirme moduyla eşleşmesi ve bağımsız değişken türünün parametre türüyle eşleşmesi veya bağımsız değişken türünden parametre türüne dönüştürme olması gerekir.
tr-TR: Bağımsız değişken türü ref (§4.3.6) ise, karşılık gelen parametre de ref olmalıdır ve dönüştürme amacıyla bağımsız değişkenin türü, ref bağımsız değişkenindeki Value özelliğinin türüdür.
Bağımsız değişken türü refise, ilgili parametre outyerine ref olabilir.
Metot değişken sayıda bağımsız değişken kabul ederse, metot normal form veya genişletilmiş formuygulanabilir. A'daki bağımsız değişkenlerin sayısı yöntemin kabul eden parametre sayısıyla aynıysa ve son parametre bir diziyse, form iki olası dönüştürmeden birinin sırasına bağlıdır:
- A'daki son bağımsız değişkenin türünden son parametrenin dizi türüne dönüştürülmesinin derecesi.
- A'daki son bağımsız değişkenin türünden, son parametrenin dizi türündeki öğe türüne dönüşümün derecesi.
İlk dönüştürme (dizi türüne) ikinci dönüştürmeden (dizinin öğe türüne) daha iyiyse, yöntem normal biçimde geçerlidir, aksi takdirde genişletilmiş biçimde uygulanabilir.
Parametrelerden daha fazla bağımsız değişken varsa, yöntem yalnızca genişletilmiş biçimde uygulanabilir. Genişletilmiş biçimde uygulanabilmesi için, son parametrenin dizi türü olmalıdır. Özgün yöntemin son parametresi, A'daki eşleşmeyen her bağımsız değişkeni karşılayacak yeterli parametrelerle değiştirildiğinde yerine eşdeğer bir yöntem kullanılır. Her ek parametre türü, özgün yöntemdeki son parametrenin dizi türünün öğe türüdür. Geçerli bir yöntem için yukarıdaki kurallar bu yeni yönteme ve bağımsız değişken listesi A'ya uygulanır.
3.7.4 Daha iyi yöntem
Dönüşümlerin kümülatif derecelendirmesi aşağıdaki gibi hesaplanır. Her bir dönüştürme, parametre sayısına bağlı olarak farklı bir değere sahiptir; E~1~ N değerindedir, E~2~ N-1 değerindedir, ve en sonunda E~N~ 1 değerindedir.
E~X~'den P~X~'ye dönüştürme, E~X~'den Q~X~'a dönüştürmeden daha iyiyse, M~P~ N-X+1 birikir; aksi takdirde, M~Q~ N-X+1 biriktirir.
M~P~ ve M~Q~ aynı değere sahipse, sırayla aşağıdaki bağlama kesme kuralları kullanılır:
- Parametre türleri arasındaki dönüştürmelerin kümülatif sıralaması (bağımsız değişken türleri yoksayılarak) önceki derecelendirmeye benzer şekilde hesaplanır, bu nedenle
P~1~Q~1~,P~2~ileQ~2~, ...veP~N~karşıQ~N~karşılaştırılır. Bağımsız değişken$nullise veya parametre türleri sayısal türler değilse karşılaştırma atlanır. Argüman dönüştürmesiE~X~'ninP~X~'e dönüştürüldüğünde bilgi kaybına neden olduğu, ancakQ~X~'ye dönüştürüldüğünde bilgi kaybetmediği ya da tam tersi durumlarda da karşılaştırma atlanır. Parametre dönüştürme türleri karşılaştırılırsa,P~X~'denQ~X~'a dönüştürme,Q~X~'danP~X~'a dönüştürmeden daha iyiyse,M~P~N-X+1 birikir; aksi takdirde,M~Q~N-X+1 biriktirir. Bu bağlama kesme kuralı, dönüştürmelerde hiçbir bilgi kaybı yaşanmazsa en yöntem (en küçük veri türlerine sahip parametrelere sahip yöntem) tercih etmek veya dönüştürmelerin bilgi kaybına neden olması durumunda en genel yöntem (en büyük veri türlerine sahip parametrelere sahip yöntem) tercih etmek için tasarlanmıştır. - Her iki yöntem de genişletilmiş formlarını kullanıyorsa, daha fazla parametre içeren yöntem daha iyi bir yöntemdir.
- Yöntemlerden biri genişletilmiş formu, diğeri normal formu kullanıyorsa, normal form kullanan yöntem daha iyi bir yöntemdir.
3.7.5 Daha iyi dönüştürme
Aşağıdaki bu şekilde işaretlenmiş metin Windows PowerShell'e özgüdür.
Dönüştürmeler aşağıdaki şekilde en düşükten en yükseğe sıralanır:
-
T~1~[]'danT~2~[]'e,T~1~ileT~2~arasında atanabilir bir dönüşümün olmadığı durumlarda - T'yi string'e dönüştürme, burada T herhangi bir tür olabilir
-
T~1~ileT~2~arasında, özel dönüştürmeT~1~veyaT~2~tarafından uygulama tanımlı bir şekilde belirlenir. -
T~1~'danT~2~'e,T~1~'nin IConvertible'ı uyguladığı durumlarda -
T~1~veyaT~2~'ün yöntemiT~1~uyguladığı yerdeT~2~'danT~2~ op_Implicit(T1)'e kadar -
T~1~veyaT~2~'ün yöntemiT~1~uyguladığı yerdeT~2~'danT~2~ op_Explicit(T1)'e kadar -
T~1~'danT~2~'e kadar,T~2~'ninT~1~türünde tek bir bağımsız değişken alan bir oluşturucu uyguladığı yerlerde - Aşağıdaki dönüştürmelerden biri:
-
T'inTveyaT Parse(string)statik yöntemini uyguladığı durumlarda, dizeyiT Parse(string, IFormatProvider)'ye dönüştürme -
T~1~ileT~2~arasında,T~2~herhangi bir sabit listesi veT~1~ise ya dize ya da dizeye dönüştürülebilen nesne koleksiyonu olduğunda
-
-
TPSObject'e,Therhangi bir tür olduğunda - Aşağıdaki dönüştürmelerden herhangi biri:
Language- T,
T'nin herhangi bir sayısal tür olduğu durumlarda bool'e dönüştürülür. - dizesini
TT,regex,wmisearcher,wmi,wmiclass,adsiveyaadsisearchertype -
T'danbool'e - T~1~'den
Nullable[T~2~]'a,T~1~'denT~2~'ye bir dönüşümün mevcut olduğu durumda -
Tiptal edilecek -
T~1~[]ileT~2~[]arasında atanabilir bir dönüştürme mevcutsa,T~1~'danT~2~'e -
T~1~ileT~2~[]arasında,T~1~bir koleksiyon olduğu yer -
IDictionary'danHashtable'e -
T'danref'e -
T'danxml'e -
scriptblock'dandelegate'e -
T~1~'danT~2~'e kadar, buradaT~1~bir tamsayı türü veT~2~bir enum türüdür.
- T,
-
$null'danT'e kadar,Therhangi bir değer türü olduğunda -
$null'danT'e, buradaTbir referans tipidir. - Aşağıdaki dönüştürmelerden herhangi biri:
bayt
T'ye,T'inSByteolduğu yerdeUInt16'denT'e, buradaTSByte,byteveyaInt16'tirInt16'ninTveyaTolduğu durumlardaSByte'danbyte'eUInt32'danT'e,T'ninSByte,byte,Int16,UInt16veyaintolduğu durumlardaintileT'e kadar,TSByte,byte,Int16veyaUInt16olduğundaUInt64'danT'eT'ninSByte,byte,Int16,UInt16,int,UInt32veyalongolduğu durumlardalong'danT'e kadar,TSByte,byte,Int16,UInt16,intveyaUInt32olduğunda.floatileTarasında, eğerTherhangi bir tamsayı türü veyadecimalisedoubleileTarasında, eğerTherhangi bir tamsayı türü veyadecimalisedecimalileTarası,Therhangi bir tamsayı türü olduğunda
- Aşağıdaki dönüştürmelerden herhangi biri:
-
SByteileT'e kadar,Tbyte,uint6,UInt32veyaUInt64olduğunda -
Int16'denT'e, buradaTUInt16,UInt32veyaUInt64'tir -
int'ninTveyaTolduğu durumlardaUInt32'danUInt64'e -
long'danUInt64'e -
decimal'ninTveyaTolduğu durumlardafloat'dandouble'e
-
- Aşağıdaki dönüştürmelerden herhangi biri:
-
T'danstring'e, buradaTherhangi bir sayısal türdür -
T'danchar'e, buradaTherhangi bir sayısal türdür -
string'danT'e, buradaTherhangi bir sayısal türdür
-
- Aşağıdaki dönüştürmelerden herhangi biri, bu dönüştürmeler atanabilir dönüştürmeler olarak kabul edilir:
-
byte'denT'e kadar,TInt16,UInt16,int,UInt32,long,UInt64,single,doubleveyadecimalolduğunda -
SByte'denT'e kadar,TInt16,UInt16,int,UInt32,long,UInt64,single,doubleveyadecimalolduğunda -
UInt16'danT'e kadar,Tint,UInt32,longveyaUInt64,single,doubleveyadecimalolduğunda -
Int16'danT'e kadar,Tint,UInt32,longveyaUInt64,single,doubleveyadecimalolduğunda -
UInt32ileTarasında, buradaTlongveyaUInt64,single,double, veyadecimal'dir. -
int'danT'e,T'ninlong,UInt64,single,doubleveyadecimalolduğu durumlarda -
single'dandouble'e
-
-
T~1~'danT~2~'e,T~2~'ninT~1~'ün temel sınıfı veya arabirimi olduğu durumlarda. Bu dönüştürme, atanabilir bir dönüştürme olarak kabul edilir. -
string'danchar[]'e -
T'danT'e -- Bu dönüştürme atanabilir bir dönüştürme olarak kabul edilir.
Formun her T~1~'dan T~2~[]'e dönüştürmesi için, T~1~ bir dizi değilse ve başka bir dönüştürme uygulanmıyorsa, T~1~'den T~2~'e bir dönüştürme varsa, bu dönüştürmenin sırası T~1~'ten T~2~'ya olan dönüştürmeden daha kötü, ancak T~1~'den T~2~'e olan herhangi bir dönüştürmeden daha iyi derecelendirilmiştir.
3.8 Ad arama
Farklı türlerde komutların tümü aynı ada sahip olabilir. Böyle bir durumda ad aramasının gerçekleştirildiği sıra takma ad, işlev, cmdlet ve dış komut sırasıyla.
3.9 Tür adı arama
§7.1.10 şu deyimi içerir: "tür değişmez değeri, bir uygulamada belirtilmeyen temel tür tarafından temsil edilir. Sonuç olarak, tür adı, temel alınan türün eş anlamlısı olur." Türlerin örneği int, double, long[]ve Hashtable.
Tür adları aşağıdaki gibi eşleştirilir: Belirli bir tür adını int, long, double gibiyerleşik System.ekleyin. Eşleşme bulunursa, tür bu olur. Aksi takdirde, tür adı hatalıdır. Bu algoritma, genel türler için her tür bağımsız değişken için uygulanır. Ancak, bir işlev veya operatörün aldığı argüman veya işlenen sayısını (ariti) belirtmeye gerek yoktur.
3.10 Otomatik bellek yönetimi
Çeşitli işleçler ve cmdlet'ler, dizeler ve diziler gibi başvuru türü nesneleri için belleğin ayrılmasıyla sonuçlanır. Bu belleği ayırma ve boşaltma, PowerShell çalışma zamanı sistemi tarafından yönetilir. Diğer bir ifadeyle PowerShell,otomatik
3.11 Yürütme sırası
Bir yan etkisi, bir komutun yürütme ortamının durumundaki bir değişikliktir. Bir değişkenin değerinde yapılan değişiklik (atama işleçleri veya ön ve son artım ve azaltma işleçleri aracılığıyla), bir dosyanın içeriğinde yapılan değişiklik gibi bir yan etkidir.
Aksi belirtilmediği sürece deyimler sözcük düzeninde yürütülür.
Bazı işleçler için belirtilmedikçe, ifadedeki terimlerin değerlendirme sırası ve yan etkilerin gerçekleşme sırası belirtilmez.
Komut çağıran bir ifade, komutu belirten ifadeyi ve değerleri bu komuta geçirilecek bağımsız değişkenleri belirten sıfır veya daha fazla ifadeyi içerir. Bu ifadelerin birbirine göre değerlendirilme sırası belirtilmemiştir.
3.12 Hata işleme
Bir komut başarısız olduğunda, bu
Hata iki kategoriden birine denk geliyor. İşlemi sonlandırıyor (sonlandırma hatası) veya sonlandırmıyor (sonlandırılmayan bir hata). Sonlandırıcı bir hata olduğunda, hata kaydedilir ve işlem durdurulur. Sonlandırmayan bir hatada, hata kaydedilir ve işlem devam eder.
Sonlandırılmayan hatalar hata akışına kaydedilir. Bu bilgiler bir dosyaya yeniden yönlendirilse de, hata nesneleri önce dizelere dönüştürülür ve bu nesnelerdeki önemli bilgiler yakalanmaz ve mümkün değilse tanılamayı zorlaştırır. Bunun yerine, hata metni yeniden yönlendirilebilir (§7.12) ve hata nesnesi $Error1 = command 2>&1'de olduğu gibi bir değişkene kaydedilebilir.
otomatik değişken $Error, son hataları temsil eden bir hata kayıtları koleksiyonu içerir ve en son hata $Error[0]içindedir. Bu koleksiyon, yeni kayıtlar eklendikçe eski kayıtlar silinecek şekilde bir arabellekte tutulur. otomatik değişken $MaximumErrorCount depolanabilecek kayıt sayısını denetler.
$Error, tek bir koleksiyonda bir araya gelen tüm komutlardaki hataların tümünü içerir. Belirli bir komuttan hataları toplamak için ErrorVariable
3.13 Boru Hatları
işlem hattı, her biri kanal işleci | (U+007C) ile ayrılmış bir veya daha fazla komut dizisidir.
Her komut, öncülden girdi alır ve çıktıyı ardılına yazar. Boru hattının sonundaki çıkış atılmadığı veya bir dosyaya yönlendirilmediği sürece, konak ortamına gönderilir ve bu ortam, çıktıyı standart çıktıya yazmayı seçebilir. İşlem hattındaki komutlar, argümanlar aracılığıyla da giriş alabilir. Örneğin, belirli bir dosya sistemi dizininde dosya adlarının listesini oluşturan, bir dizi metin kaydını sıralayan ve bir metin kaydı üzerinde işlem gerçekleştiren Get-ChildItem, Sort-Objectve Process-Filekomutlarının kullanımını göz önünde bulundurun:
Get-ChildItem
Get-ChildItem E:*.txt | Sort-Object -CaseSensitive | Process-File >results.txt
İlk durumda, Get-ChildItem geçerli/varsayılan dizinde dosyaların adlarından oluşan bir koleksiyon oluşturur. Bu koleksiyon, varsayılan olarak her öğenin değerini doğrudan standart çıkışa yazan ana ortama gönderilir.
İkinci durumda, Get-ChildItemE:*.txtbağımsız değişkenini kullanarak belirtilen dizindeki dosyaların adlarından oluşan bir koleksiyon oluşturur. Bu koleksiyon, varsayılan olarak Sort-Object bağımsız değişkeni sayesinde büyük/küçük harf duyarlılığı gözetilerek artan sırada sıralayan komutuna yazılır. Sonuçta elde edilen koleksiyon, bazı (bilinmeyen) işlemler gerçekleştiren Process-Filekomutuna yazılır. Ardından bu komutun çıktısı results.txtdosyasına yönlendirilir.
Komut tek bir nesne yazarsa, ardılı bu nesneyi alır ve ardılına kendi nesnelerini yazdıktan sonra sonlanır. Ancak, bir komut birden çok nesne yazarsa, ardıl komutuna birer birer teslim edilir ve bu komut nesne başına bir kez yürütülür. Bu davranış, streamingolarak adlandırılır. Akış işlemede nesneler, koleksiyonun tamamı üretildiğinde değil, kullanılabilir duruma gelir gelmez işlem hattı boyunca yazılır.
Bir koleksiyonu işlerken, ilk öğeden önce ve son öğeden sonra özel işlem yapabilecek şekilde bir komut yazılabilir.
3.14 Modüller
modülü, PowerShell kodunun bölümlendirilmesine, düzenlenmesine ve soyutlanmasına olanak tanıyan kendi içinde yeniden kullanılabilir bir birimdir. Modül, tek bir birim olarak kullanılabilen komutları (cmdlet'ler ve işlevler gibi) ve öğeleri (değişkenler ve diğer adlar gibi) içerebilir.
Modül oluşturulduktan sonra, içindeki komutların ve öğelerin kullanılabilmesi için önce Import-Module komutuyla açıkça içeri aktarılır. Bir modül, uygulama tanımlı bir şekilde belirlendiği şekilde otomatik olarak içeri aktarılabilir.
Modülü temsil eden nesnenin türü §4.5.12açıklanmıştır.
Modüller §11'de ayrıntılı olarak ele alınacaktır.
3.15 Joker karakter ifadeleri
Joker karakter ifadesi aşağıdaki öğelerden sıfır veya daha fazlasını içerebilir:
| Öğe | Açıklama |
|---|---|
| *, ?veya [ dışındaki karakter | Bu karakterle eşleşir |
| * | Sıfır veya daha fazla karakterle eşleşir. * karakterini eşleştirmek için [*] kullanın. |
| ? | Herhangi bir karakterle eşleşir. Bir çifti eşleştirmek için mi? karakter, [?] kullanın. |
| [ayarla] | kümesindeki herhangi bir karakterle eşleşir ve bu karakter boş olamaz. kume ile başlıyor veya bitiyorsa, bu kısa çizgi-eksi kümenin bir parçası olarak kabul edilir; aksi takdirde, ardışık Unicode kod noktaları aralığını, kısa çizgi-eksinin her iki tarafındaki karakterlerin dahil aralık sınırları olduğunu gösterir. Örneğin, A-Z 26 büyük İngilizce harfi, 0-9 ise 10 ondalık basamağı gösterir. |
Not
Daha fazla bilgi, "Açık Grup Temel Belirtimleri: Desen Eşleştirme", IEEE Std 1003.1, 2004 Baskısıiçinde bulunabilir. Ancak, PowerShell'de kaçış karakteri kesme işareti olup, ters eğik çizgi değildir.
3.16 Normal ifadeler
Normal ifade aşağıdaki öğelerden sıfır veya daha fazlasını içerebilir:
| Öğe | Açıklama |
|---|---|
| ., [, ^, *, $veya \ dışındaki karakter | Bu karakterle eşleşir |
| . | Herhangi bir karakterle eşleşir. Bir şeyi eşleştirmek için. karakteri kullan, \.. |
| [ayarla] [^ayarla] |
[kümesi] formu, [ kümesi] içindeki herhangi bir karakterle eşleşir. [^set] formu, kümesindeki hiçbir karakterle eşleşemez. kümesi boş olamaz. Eğer küme ] veya ^] ile başlıyorsa, o sağ köşeli ayraç kümenin parçası olarak kabul edilir ve sonraki sağ köşeli ayraç kümeyi sonlandırır; aksi takdirde, ilk sağ köşeli ayraç kümeyi sonlandırır. |
| * | Önceki öğenin sıfır veya daha fazla kez oluşumunu eşleştirir. |
| + | Önceki öğenin diğer oluşumlarından biriyle eşleşir. |
| ? | Önceki öğenin sıfır veya bir kez oluşumunu eşleştirir. |
| ^ | String'in başında eşleşir. ^ karakteriyle eşleştirmek için \^ kullanın. |
| $ | Dizenin sonunda eşleşir. $ karakterini eşleştirmek için $ kullanın. |
| \ c | vekarakterleri kaçar, bu yüzden normal ifade öğesi olarak tanınmaz. |
Not
Daha fazla bilgi, The Open Group Taban Spesifikasyonları: Düzenli İfadeler, IEEE Std 1003.1, 2004 Baskısıiçinde bulunabilir.
Windows PowerShell: Microsoft .NET Framework normal ifadelerinde kullanılabilen karakter sınıfları aşağıdaki gibi desteklenir:
| Öğe | Açıklama |
|---|---|
\p{name} |
adtarafından belirtilen adlandırılmış karakter sınıfındaki herhangi bir karakterle eşleşir. Desteklenen adlar, Unicode grupları ve Ll, Nd, Z, IsGreek ve IsBoxDrawing gibi blok aralıklarıdır. |
\P{name} |
|
\w |
Herhangi bir sözcük karakteriyle eşleşir.
[\p{Ll}\p{Lu}\p{Lt}\p{Lo}\p{Nd}\p{Pc}]Unicode karakter kategorilerine eşdeğerdir. ECMAScript ile uyumlu davranış ECMAScript seçeneğiyle belirtilirse, \w [a-zA-Z_0-9]eşdeğerdir. |
\W |
Sözcük olmayan herhangi bir karakterle eşleşir.
[\^\p{Ll}\p{Lu}\p{Lt}\p{Lo}\p{Nd}\p{Pc}]Unicode kategorilerine eşdeğerdir. |
\s |
Herhangi bir boşluk karakteriyle eşleşir.
[\f\n\r\t\v\x85\p{Z}]Unicode karakter kategorilerine eşdeğerdir. |
\S |
Boşluk olmayan herhangi bir karakterle eşleşir.
[\^\f\n\r\t\v\x85\p{Z}]Unicode karakter kategorilerine eşdeğerdir. |
\d |
Herhangi bir ondalık basamakla eşleşir. Unicode davranışı için \p{Nd} ve Unicode olmayan davranış için [0-9] ile eşdeğerdir. |
\D |
Basamak olmayan herhangi bir değerle eşleşir. Unicode davranışı için \P{Nd} ve Unicode olmayan davranış için [\^0-9] ile eşdeğerdir. |
Microsoft .NET Framework normal ifadelerinde kullanılabilen niceleyiciler aşağıdaki gibi desteklenir:
| Öğe | Açıklama |
|---|---|
* |
Sıfır veya daha fazla eşleşme belirtir; örneğin, \w* veya (abc)*. eşdeğeri {0,}. |
+ |
Önceki karakterlerin yinelenen örnekleriyle eşleşir. |
? |
Sıfır veya bir eşleşme belirtir; örneğin, \w? veya (abc)?.
{0,1}eşdeğerdir. |
{n} |
Tam olarak n eşleşmeleri belirler; örneğin, (pizza){2}. |
{n,} |
En az n eşleşme belirtir; örneğin, (abc){2,}. |
{n,m} |
En az n, ancak en fazla meşleşme belirtir. |
PowerShell