Aracılığıyla paylaş


about_Path_Syntax

Kısa açıklama

PowerShell'deki tam ve göreli yol biçimlerini açıklar.

Uzun açıklama

PowerShell sağlayıcısı aracılığıyla erişilebilen bir veri deposundaki tüm öğeler, yol adlarıyla benzersiz olarak tanımlanabilir. Yol, öğe adı, öğenin bulunduğu kapsayıcı ve alt kapsayıcılar ile kapsayıcıların erişildiği PowerShell sürücüsünün birleşimidir.

PowerShell'de yol adları iki türden biri olabilir: tam ve göreli . Tam yol, yolu oluşturan tüm öğelerden oluşur. Aşağıdaki söz dizimi, tam yol içindeki öğeleri gösterir:

[<provider>::]<drive>:[\<container>[\<subcontainer>...]]\<item>

<provider> yer tutucusu, veri deposuna erişebileceğiniz PowerShell sağlayıcısını ifade eder. Örneğin, FileSystem sağlayıcısı bilgisayarınızdaki dosyalara ve dizinlere erişmenizi sağlar. Söz diziminin 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üne başvurur. FileSystem sağlayıcısı söz konusu olduğunda, PowerShell sürücüleri sisteminizde yapılandırılan Windows sürücüleriyle eşlenir. Örneğin, sisteminiz bir A: sürücüsü ve bir C: sürücüsü içeriyorsa, Dosya Sistemi sağlayıcısı PowerShell'de aynı sürücüleri oluşturur.

Sürücüyü belirttikten sonra, öğeyi içeren kapsayıcıları ve alt kapsayıcıları belirtmeniz gerekir. Kapsayıcılar, veri deposunda bulundukları hiyerarşik sırada belirtilmelidir. Başka bir deyişle, her alt kapsayıcı için deseni yineleyerek üst kapsayıcıyla, sonra da bu üst kapsayıcıdaki alt kapsayıcıyla başlamanız gerekir. Ayrıca, her kapsayıcının önünde ters eğik çizgi bulunmalıdır.

Not

PowerShell, diğer platformlarda PowerShell ile uyumluluk için ters eğik çizgi veya eğik çizgi kullanmanıza olanak tanır. Bu, PowerShell komutlarında çalışır, 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.

Kapsayıcı ve alt kapsayıcılar belirtildikten sonra, önce ters eğik çizgi olan öğe adını sağlamanız gerekir. Örneğin, Shell.dll dizinindeki C:\Windows\System32 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üdür, en üst düzey kapsayıcı Windows, alt kapsayıcı System32ve öğe Shell.dll.

Bazı durumlarda, tam yol belirtmeniz gerekmez ve bunun yerine göreli yol kullanabilirsiniz. PowerShell, bir öğeyi geçerli çalışma konumuna göre konumunu temel alarak tanımlamanızı sağlar.

PowerShell, göreli yolları belirtmek için aşağıdaki karakter dizilerini kullanır.

  • (.) - Geçerli konum
  • (..) - Geçerli konumun üst öğesi
  • (\) - Geçerli konumun kökü

Aşağıdaki örnekler, C:\Windowsolarak ayarlanan geçerli çalışma dizinini temel alır.

  • göreli yol .\SystemC:\Windows\System olarak çözülür
  • göreli yol ..\Program FilesC:\Program Files olarak çözülür
  • göreli yol \Program FilesC:\Program Files olarak çözülür
  • göreli yol SystemC:\Windows\System olarak çözülür

Komutta yol kullanırken, tam yol veya göreli yol kullanabilirsiniz. Örneğin, geçerli çalışma dizininizin C:\Windowsolduğ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:\Windowsolduğundan, sürücü kökü C: sürücüdür. TechDocs dizini kök dizinin dışında bulunduğundan, yalnızca ters eğik çizgi belirtmeniz gerekir.

Tam yolu kullanarak aynı sonuçları elde edersiniz:

Get-ChildItem C:\TechDocs

Tam yol veya göreli yol adı kullanmanızdan bağımsız olarak, yol yalnızca bir öğeyi bulacağından değil, aynı zamanda öğe farklı bir kapsayıcıdaki başka bir öğeyle aynı adı paylaşsa bile öğeyi benzersiz olarak tanımladığından da önemlidir.

Örneğin, her birinde Results.txtadlı iki dosyanız olduğunu varsayalım. İlk dosya C:\TechDocs\Janadlı bir dizinde, ikinci dosya ise C:\TechDocs\Febadlı bir dizindedir. İlk dosyanın yolu (C:\TechDocs\Jan\Results.txt) ve ikinci dosyanın yolu (C:\TechDocs\Feb\Results.txt) iki dosyayı net bir şekilde ayırt etmenizi sağlar.

Win32 dosya ad alanı desteği

Windows'da, FileSystem sağlayıcısını destekleyen cmdlet'ler Win32 Dosya ad alanı biçimini kullanan yolları da destekler. Bu yolları yalnızca cmdlet'lerin LiteralPath parametresiyle kullanabilirsiniz.

Win32 Dosya ad alanında yollara \\?\önek eklenir. Ön ek, Windows API'lerine tüm dize ayrıştırmalarını devre dışı bırakmalarını ve izleyen dizeyi doğrudan dosya sistemine göndermelerini söyler. Örneğin, dosya sistemi büyük yolları ve dosya adlarını destekliyorsa, Windows API'leri tarafından aksi takdirde zorlanan MAX_PATH sınırlarını aşabilirsiniz.

Daha fazla bilgi için bkz. Adlandırma Dosyaları, Yollar ve Ad Alanlarıwin32 dosya ad alanları .

Ayrıca bakınız