Dosya Adlarını Yalnızca PowerShell'de Nasıl Listeleyebilirim?
PowerShell'de çılgınca şeyler yapabilirsiniz; bunlardan biri yalnızca dosya adlarını almaktır. Bu makalede size dosya adlarının yalnızca PowerShell'de nasıl listeleneceğini göstereceğim.
Dosya adlarını yalnızca PowerShell'de listelemek için Get-ChildItem cmdlet'ini -Name parametresiyle birlikte kullanabilirsiniz. Örneğin, Get-ChildItem -Path “C:\Your\Directory” -Name, belirtilen dizindeki tüm dosya adlarının çıktısını verir. Dizinleri hariç tutmak ve yalnızca dosyaları listelemek için -File parametresini şu şekilde ekleyin: Get-ChildItem -Path “C:\Your\Directory” -File -Name.
Get-ChildItem Cmdlet'ini Kullanarak Yalnızca Dosya Adlarını Alma
En basit yaklaşımı deneyelim.
PowerShell'de dosyaları listelemeye yönelik birincil komut Get-ChildItem'dir. Bu cmdlet, belirtilen bir veya daha fazla konumdaki öğeleri ve alt öğeleri alır. Yalnızca dosya adlarını listelemek için bu cmdlet'i en basit haliyle kullanabilirsiniz.
Get-ChildItem -Path "C:\MyFolder" -Name-Path parametresi dizini belirtir ve -Name parametresi boyut, tür veya değiştirilme tarihi gibi diğer ayrıntılar hariç yalnızca dosya adlarının görüntülenmesini sağlar.
Aşağıdaki ekran görüntüsünde betiği VS kodunu kullanarak çalıştırdığımı görebilirsiniz.
Dizinleri Filtrele
Varsayılan olarak Get-ChildItem, PowerShell'deki hem dosyaları hem de dizinleri listeler. Yalnızca dosyaları listelemek istiyorsanız -File parametresini kullanarak dizinleri filtreleyebilirsiniz.
Get-ChildItem -Path "C:\MyFolder" -File -NameBu komut, uzantıları olmayan dosya adlarının bir listesini döndürür ve yalnızca klasör adlarını yok sayar.
Dosya Uzantıları Hariç Dosya Adlarını Al
Dosyaları listelemek ancak uzantılarını hariç tutmak istiyorsanız PowerShell'de Get-ChildItem ve ForEach-Object cmdlet'lerinin bir kombinasyonunu kullanabilirsiniz.
Get-ChildItem -Path "C:\MyFolder" -File | ForEach-Object { $_.BaseName }Bu komut dosyası, belirtilen dizindeki tüm dosyaların temel adlarını (uzantısız dosya adları) listeler.
Dosya Adlarını Yalnızca Yinelemeli Olarak Al
Belirtilen dizindeki ve tüm alt dizinlerdeki dosyaları listelemek için PowerShell Get-ChildItem cmdlet'lerindeki -Recurse parametresini kullanın.
Get-ChildItem -Path "C:\MyFolder" -Recurse -File -NameBu komut, hedef dizinin altındaki tüm alt dizin düzeylerinde bulunanlar da dahil olmak üzere tüm dosya adlarını listeler.
Where-Object ile Gelişmiş Filtreleme
Daha gelişmiş senaryolarda, dosya listesini belirli bir metni içeren dosya adları gibi belirli ölçütlere göre filtrelemeniz gerekebilir. Where-Object cmdlet'i bu amaç için kullanılabilir.
İşte PowerShell betiğinin tamamı.
Get-ChildItem -Path "C:\MyFolder" -File | Where-Object { $_.Name -like '*myfile*' } | ForEach-Object { $_.Name }Çözüm
Yukarıdaki yöntemleri izleyerek PowerShell'de dosya adlarını listeleyebilmelisiniz.
Get-ChildItem PowerShell Cmdlet'ini kullanmanın en basit yolu.

