PowerShell'de Yolu Diziye Nasıl Bölebilirim?
PowerShell, yolu bir diziye bölmek için Bölünmüş Yol Cmdlet'ini sağlar. Bu PowerShell eğitiminde, PowerShell'de farklı yöntemler kullanarak bir yolu diziye nasıl böleceğimi örneklerle açıklayacağım.
PowerShell'de bir dosya yolunu bir diziye bölmek için PowerShell'deki Split-Path cmdlet'ini kullanın. Örneğin, bir yolun üst klasörünü almak için $parentPath=Split-Path -Path 'C:\Folder\File.txt' -Parent komutunu kullanın. Dizin olmadan dosya adını almak için $fileName=Split-Path -Path 'C:\Folder\File.txt' -Leaf komutunu kullanın. Yalnızca uzantıyı elde etmek için $extension=Split-Path -Path 'C:\Folder\File.txt' -Extension komutunu kullanın. Bu komutların her biri size yolun farklı bölümlerini bir dizi olarak değil, ayrı ayrı dizeler halinde verecektir.
PowerShell'de Yolu Diziye Böl
PowerShell'de yol, dosya sisteminizdeki bir dosyanın, klasörün veya kayıt defteri anahtarının konumunu belirten bir dizedir. Yollar mutlak veya göreli olabilir ve Windows'ta genellikle ters eğik çizgiyle ayrılmış bir dizi dizin adı içerir (\).
Yolu bir diziye bölmek birkaç nedenden dolayı yararlı olabilir:
- Yolun ayrı bölümlerini değiştirmek için.
- Kullanıcı girdisine veya diğer değişkenlere dayalı olarak dinamik olarak yeni yollar oluşturmak.
- Yolları doğrulamak veya bir yol içindeki belirli dizinlerin varlığını kontrol etmek için.
Şimdi PowerShell'de yolu diziye bölmek için çeşitli yöntemleri kontrol edelim.
Yöntem 1: Bölünmüş Yol Cmdlet'ini Kullanma
PowerShell, yolu farklı öğelere ayırmanıza olanak tanıyan Split-Path adlı yerleşik bir cmdlet sağlar. İşte tam bir örnek.
# Example of using Split-Path to get the parent directory
$fullPath = 'C:\Users\Public\Documents\Report.xlsx'
$parentPath = Split-Path -Path $fullPath -Parent
Write-Output $parentPath # Outputs: C:\Users\Public\DocumentsAncak Bölünmüş Yol, bir yolu doğrudan tüm bileşenlerinden oluşan bir diziye bölmez. Ana dizin veya yaprak öğesi gibi bir yolun belirli bölümlerini elde etmek için kullanılır.
PowerShell betiğini çalıştırdıktan sonra çıktıyı aşağıdaki ekran görüntüsünde görebilirsiniz. Not: Burada VS kod düzenleyicisini kullandım.
Yöntem 2: -split Operatörünü Kullanma
PowerShell'de bir dosya yolunu bir diziye bölmek için yol ayırıcıyla birlikte -split operatörünü kullanın. Örneğin, $pathArray=$path -split '\\' bir Windows yolunu her ters eğik çizgide bir diziye böler. Alternatif olarak, yolun çıkarmak istediğiniz bölümleri üzerinde daha ayrıntılı kontrol sağlamak için Split-Path cmdlet'ini kullanabilirsiniz.
Yolun tamamını bir diziye bölmek için -split operatörünü doğru sınırlayıcıyla kullanabilirsiniz.
# Example of splitting a path into an array
$fullPath = 'C:\Users\Public\Documents\Report.xlsx'
$pathArray = $fullPath -split '\\'
Write-Output $pathArray # Outputs: C:, Users, Public, Documents, Report.xlsxBu örnekte, ayırıcı olarak \\ kullanıyoruz çünkü ters eğik çizgi PowerShell'de bir kaçış karakteridir ve çıkış yapılması gerekir.
Çıktıyı aşağıdaki ekran görüntüsünde görebilirsiniz.
Yöntem 3: .Split() Yöntemini Kullanma
PowerShell'de yolu bir diziye bölmenin başka bir yolu da dize nesnesinin .Split() yöntemini kullanmaktır.
PowerShell'de bir dizinin yolunu bölmek için tam komut dosyası.
# Example of using the .Split() method
$fullPath = 'C:\Users\Public\Documents\Report.xlsx'
$pathArray = $fullPath.Split('\')
Write-Output $pathArray # Outputs: C:, Users, Public, Documents, Report.xlsxDizinin ilk öğesi boş olacağından yolunuz ters eğik çizgiyle başlıyorsa boş girişleri kaldırmanız gerekebileceğini unutmayın.
Yöntem 4: Convert-Path ve -split Kombinasyonunu Kullanma
PowerShell sağlayıcılarını (FileSystem:: gibi) içerebilecek PowerShell yollarıyla ilgileniyorsanız, öncelikle yolu standart bir dosya sistemi yoluna dönüştürmek isteyebilirsiniz.
# Example of converting and splitting a path
$providerPath = 'FileSystem::C:\Users\Public\Documents\Report.xlsx'
$fullPath = Convert-Path $providerPath
$pathArray = $fullPath -split '\\'
Write-Output $pathArray # Outputs: C:, Users, Public, Documents, Report.xlsxYolları ayırırken boşluk veya başka özel karakterler içeren yollarla karşılaşabilirsiniz. Bu tür yolların tek dize olarak değerlendirilmesini sağlamak için tırnak içine alın.
Çözüm
PowerShell'de bir yolu bir diziye bölmek çok yaygın bir gereksinimdir ve çeşitli yöntemler kullanılarak gerçekleştirilebilir. İster belirli öğeler için Split-Path cmdlet'ini, ister -split operatörünü, ister tam kontrol için .Split() yöntemini seçin, PowerShell Yollarla etkili bir şekilde çalışma esnekliği sağlar.
Umarım artık PowerShell'de bir diziye giden yolu bölmek için yukarıdaki yöntemlerden herhangi birini kullanma konusunda kendinize güveniyorsunuzdur.

