Yol Söz Dizimi hakkında
Kısa açıklama
PowerShell'deki tam ve göreli yol formatlarını açıklar.
Uzun açıklama
Bir PowerShell sağlayıcısı aracılığıyla erişilebilen bir veri deposundaki tüm öğeler, yol adlarıyla benzersiz bir şekilde tanımlanabilir. Yol, öğe adının, öğenin bulunduğu kapsayıcı ve alt kapsayıcıların ve kapsayıcılara erişilen PowerShell sürücüsünün birleşimidir.
PowerShell'de yol adları iki türden biri olabilir: tam nitelikli ve göreli. Tam nitelikli bir yol, yolu oluşturan tüm öğelerden oluşur. Aşağıdaki sözdizimi, tam olarak nitelenmiş bir yol adındaki öğeleri gösterir:
[<provider>::]<drive>:[\<container>[\<subcontainer>...]]\<item>
<provider> yer tutucusu, veri deposuna eriştiğiniz PowerShell sağlayıcısını ifade eder. Örneğin FileSystem sağlayıcısı, bilgisayarınızdaki dosyalara ve dizinlere erişmenize olanak tanır. Sözdiziminin bu öğesi isteğe bağlıdır ve sürücü adları tüm sağlayıcılarda benzersiz olduğundan hiçbir zaman gerekli değildir.
<drive> yer tutucusu, belirli bir PowerShell sağlayıcısı tarafından desteklenen PowerShell sürücüsünü ifade eder. FileSystem sağlayıcısı durumunda PowerShell sürücüleri, sisteminizde yapılandırılmış Windows sürücüleriyle eşleşir. Örneğin, sisteminizde bir A: sürücüsü ve bir C: sürücüsü varsa, Dosya Sistemi sağlayıcısı aynı sürücüleri PowerShell'de oluşturur.
Sürücüyü belirttikten sonra öğeyi içeren tüm kapsayıcıları ve alt kapsayıcıları belirtmeniz gerekir. Kapsayıcılar, veri deposunda bulundukları hiyerarşik sıraya göre belirtilmelidir. Başka bir deyişle, ana kapsayıcıyla başlamanız, ardından o ana kapsayıcıdaki alt kapsayıcıyla başlamanız ve her bir alt kapsayıcı için deseni tekrarlamanız gerekir. Ayrıca her konteynerin önüne ters eğik çizgi konulmalıdır.
Not
PowerShell, diğer platformlarda PowerShell ile uyumluluk için ters eğik çizgi veya ileri eğik çizgi kullanmanıza olanak tanır. Bu, PowerShell komutları için işe yarar ancak yalnızca yerel dizin ayırıcısını bekleyen yerel uygulamalarla kullanıldığında çalışmayabilir. Platformunuz için kullanılan karakteri bulmak için [System.IO.Path]::DirectorySeparatorChar'ı kullanın.
Kap ve alt kaplar belirtildikten sonra, öğe adının önüne ters eğik çizgi koyarak sağlamanız gerekir. Örneğin, C:\Windows\System32 dizinindeki Shell.dll dosyasının tam yol adı aşağıdaki gibidir:
C:\Windows\System32\Shell.dll
Bu durumda kapsayıcılara erişilen sürücü C: sürücüsüdür, üst düzey kapsayıcı Windows, alt kapsayıcı ise System32 ve öğe Shell.dll'dir.
Bazı durumlarda, tam olarak tanımlanmış bir yol belirtmeniz gerekmez; bunun yerine göreceli bir yol kullanabilirsiniz. PowerShell, bir öğeyi geçerli çalışma konumuna göre konumuna göre tanımlamanıza olanak tanır.
PowerShell, göreli yolları belirtmek için aşağıdaki karakter dizilerini kullanır.
- (
.) - Geçerli konum - (
..) - Geçerli konumun ebeveyni - (
\) - Geçerli konumun kökü
Aşağıdaki örnekler, C:\Windows olarak ayarlanan geçerli çalışma dizinini temel almaktadır.
.\Systemgöreceli yoluC:\Windows\Systemolarak çözümlenir..\Program Filesgöreceli yoluC:\Program Filesolarak çözümlenir\Program Filesgöreceli yoluC:\Program Filesolarak çözümlenirSystemgöreceli yoluC:\Windows\Systemolarak çözümlenir
Bir komutta yol kullanırken, tam olarak tanımlanmış bir yol veya göreceli bir yol kullanabilirsiniz. Örneğin, geçerli çalışma dizininizin C:\Windows olduğunu varsayalım. Aşağıdaki Get-ChildItem komutu, C:\TechDocs dizinindeki tüm öğeleri alır:
Get-ChildItem \TechDocs
Ters eğik çizgi, geçerli çalışma konumunun sürücü kökünün kullanılması gerektiğini belirtir. Çalışma dizini C:\Windows olduğundan, sürücünün kökü C: sürücüsüdür. TechDocs dizini kökün dışında yer aldığından yalnızca ters eğik çizgiyi belirtmeniz gerekir.
Tam nitelikli yolu kullanarak aynı sonuçları elde edersiniz:
Get-ChildItem C:\TechDocs
Tam olarak nitelenmiş bir yol veya göreceli bir yol adı kullanmanıza bakılmaksızın, yol yalnızca bir öğeyi bulduğu için değil, aynı zamanda öğe farklı bir kaptaki başka bir öğeyle aynı adı paylaşsa bile öğeyi benzersiz bir şekilde tanımladığı için de önemlidir.
Örneğin, her biri Results.txt adında iki dosyanız olduğunu varsayalım. İlk dosya C:\TechDocs\Jan adlı bir dizinde, ikinci dosya ise C:\TechDocs\Feb adlı bir dizindedir. İlk dosyanın yolu (C:\TechDocs\Jan\Results.txt) ve ikinci dosyanın yolu (C:\TechDocs\Feb\Results.txt) ) iki dosya arasında net bir ayrım yapmanızı sağlar.
Ayrıca bakınız
- about_Locations
- Convert-Path
- Join-Path
- Resolve-Path
- Split-Path
- Test-Path