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.
Değişken, bir değerin depolama konumunu temsil eder ve bu değerin bir türü vardır. Geleneksel yordamsal programlama dilleri statik olarak yazılır; yani, bir değişkenin çalışma zamanı türü, derleme zamanında bildirildiği değişkendir. Nesne odaklı diller, bir değişkenin çalışma zamanındaki türünün, derleme zamanında bildirilen tür ya da o türden türetilen bir tür olmasını mümkün kılan kalıtım fikrini ekler. Dinamik olarak yazılan bir dil olan PowerShell'in değişkenlerinde türleri yoktur. Aslında değişkenler tanımlanmaz; yalnızca bir değer atandığında ortaya çıkarlar. Değişkenin belirli bir türdeki değeri tutması kısıtlansa da (§5,3), atamadaki tür bilgileri her zaman statik olarak doğrulanamaz.
Farklı zamanlarda, bir değişken atama (§7.11) veya ++ ve ‑‑ işleçlerinin (§7.1.5, §7.2.6) aracılığıyla farklı türlerdeki değerlerle ilişkilendirilebilir. Bir değişkenle ilişkili değer değiştirildiğinde, bu değerin türü değişebilir. Örneğin
$i = "abc" # $i holds a value of type string
$i = 2147483647 # $i holds a value of type int
++$i # $i now holds a value of type double because
# 2147483648 is too big to fit in type int
Oluşturulmamış bir değişkenin herhangi bir kullanımı, $null değeriyle sonuç verir. Bir değişkenin tanımlandığını görmek için Test Yolu cmdlet'ini kullanın.
5.1 Yazılabilir konum
yazılabilir konum, komutun hem okuma hem de yazma erişimine sahip olduğu bir kaynağı belirten bir ifadedir. Yazılabilir konum bir değişken (§5), bir dizi öğesi (§9), bir alt simge (§10) aracılığıyla erişilen bir Hash Tablosundaki ilişkili değer, bir özellik (§7.1.2) veya sağlayıcı tarafından yönetilen depolama (§3.1) olabilir.
5.2 Değişken kategorileri
PowerShell aşağıdaki değişken kategorilerini tanımlar: statik değişkenler, örnek değişkenleri, dizi öğeleri, Hashtable anahtar/değer çiftleri, parametreler, sıradan değişkenler ve sağlayıcı sürücülerindeki değişkenler. İzleyen alt bölümler bu kategorilerin her birini açıklar.
Aşağıdaki örnekte
function F ($p1, $p2) {
$radius = 2.45
$circumference = 2 * ([Math]::PI) * $radius
$date = Get-Date -Date "2010-2-1 10:12:14 pm"
$month = $date.Month
$values = 10, 55, 93, 102
$value = $values[2]
$h1 = @{ FirstName = "James"; LastName = "Anderson" }
$h1.FirstName = "Smith"
$Alias:A = "Help"
$Env:MyPath = "E:\Temp"
${E:output.txt} = 123
$Function:F = { "Hello there" }
$Variable:v = 10
}
-
[Math::PI]statik bir değişkendir -
$date.Monthbir örnek değişkenidir -
$values[2]bir dizi öğesidir -
$h1.FirstName, karşılık gelen değeri $h 1['FirstName']' olan birHashtableanahtarıdır -
$p1ve$p2parametredir -
$radius,$circumference,$date,$month,$values,$valueve$h1sıradan değişkenlerdir -
$Alias:A,$Env:MyPath,${E:output.txt}ve$Function:Filgili sağlayıcı sürücülerindeki değişkenlerdir. -
$Variable:vaslında sağlayıcı sürücüsü tam adıyla yazılmış sıradan bir değişkendir.
5.2.1 Statik değişkenler
Türün belirli bir örneğine değil, nesnenin türüne ait olan bir nesnenin veri üyesine
PowerShell, statik değişkenler içeren yeni türler oluşturmanın hiçbir yolunu sağlamaz; ancak, bu tür nesneler konak ortamı tarafından sağlanabilir.
Statik değişkenler içeren nesneleri oluşturmak ve silmek için bellek, konak ortamı ve çöp toplama sistemi tarafından yönetilir.
Statik değişkene erişme hakkında bilgi için bkz. §7.1.2.
Statik veri üyesi bir alan veya özellik olabilir.
5.2.2 Örnek değişkenleri
Türün kendisi yerine nesne türünün belirli bir örneğine ait olan bir nesnenin veri üyesi,
PowerShell konak ortamı, örnek değişkenleri içeren yeni türler oluşturmak veya var olan türlere yeni örnek değişkenleri eklemek için bir yol sağlayabilir.
Statik değişkenler içeren nesneleri oluşturmak ve silmek için bellek, konak ortamı ve çöp toplama sistemi tarafından yönetilir.
Örnek değişkenine erişme hakkında bilgi için bkz. §7.1.2.
Örnek veri üyesi bir alan veya özellik olabilir.
5.2.3 Dizi öğeleri
Dizi, bir üniter virgül işleci (§7.2.1), alt ifade (§7.1.6), dizi-ifade (§7.1.7), ikili virgül işleci (§7.3), aralık işleci (§7.4) veya New-Object cmdlet'i aracılığıyla oluşturulabilir.
Dizi oluşturma ve silme belleği, konak ortamı ve çöp toplama sistemi tarafından yönetilir.
Diziler ve dizi öğeleri §9içinde ele alınıyor.
5.2.4 Hashtable anahtar/değer çiftleri
Hashtable, karma harfiyazı (§2.3.5.6) veya New-Object cmdlet'i ile oluşturulur. yeni anahtar/değer çifti [] işleci (§7.1.4.3) aracılığıyla eklenebilir.
Hashtables oluşturma ve silme için bellek, konak ortamı ve çöp toplama sistemi tarafından yönetilir.
Karma tablolar §10'de ele alınıyor.
5.2.5 Parametreleri
Ana komut çağrıldığında bir parametre oluşturulur ve çağrıda sağlanan ya da çalışma ortamından alınan bağımsız değişkenin değeriyle başlatılır. Üst komutu sonlandırıldığında bir parametre yok olur.
Parametreler §8.10içinde ele alınıyor.
5.2.6 Sıradan değişkenler
sıradan değişken, atama-ifadesi (§7.11) veya foreach-statement (§8.4.4) tarafından tanımlanır. Bazı sıradan değişkenler konak ortamı tarafından önceden tanımlanmışken, diğerleri geçicidir, çalışma zamanında gerektiği gibi gelir ve devam eder.
Sıradan bir değişkenin ömrü, program yürütmenin depolama alanı için ayrılması garanti edilen bölümüdür. Bu yaşam süresi, ilişkilendirildiği kapsama girişte başlar ve bu kapsamın yürütülmesinin sonundan önce bitmez. Üst kapsam özyinelemeli veya tekrarlamalı olarak girilirse, her seferinde yeni bir yerel değişken örneği oluşturulur.
Sıradan bir değişken tarafından başvuruda bulunılan depolama, bu değişkenin ömründen bağımsız olarak geri kazanılır.
Sıradan bir değişken açıkça Değişkeniyle adlandırılabilir: ad alanı ön eki (§5.2.7).
5.2.7 Sağlayıcı sürücülerindeki değişkenler
Sağlayıcılar ve sürücüler kavramı §3.1tanıtılır ve her sağlayıcı kendi ad alanı sürücülerini sağlayabilir. Bu, bu sürücülerdeki kaynaklara sıradan değişkenlermiş gibi erişmenizi sağlar (§5.2.6). Aslında, sıradan bir değişken, dosya sistemi sağlayıcı sürücüsünde (Değişken:§3.1.5) depolanır ve sıradan adı veya tam nitelikli ad alanı adıyla erişilebilir.
Bazı ad alanı değişken türleri örtük olarak kısıtlanır (§5.3).
5.3 Kısıtlanmış değişkenler
Varsayılan olarak, bir değişken herhangi bir türde bir değer belirleyebilir. Ancak, bir değişken, bir atama veya parametredeki adından önce türü bir tür literali olarak belirterek belirli bir türün değerlerini atamak için kısıtlanmış olabilir. Örneğin
[int]$i = 10 # constrains $i to designating ints only
$i = "Hello" # error, no conversion to int
$i = "0x10" # ok, conversion to int
$i = $true # ok, conversion to int
function F ([int]$p1, [switch]$p2, [regex]$p3) { ... }
Env:, Diğer Ad:veya dosya sistemi ad alanına (§2.3.2, §3.1) ait tüm değişkenler örtük olarak stringtürüyle kısıtlanır. Ad alanı İşlevi: (§2.3.2, §3.1) olan tüm değişkenler örtük olarak scriptblocktürüyle kısıtlanır.
PowerShell