DOS / Windows'da dosya adlarını (yalnızca) yinelemeli olarak nasıl listeleyebilirim? [çiftleme]


20

Olası Çoğaltma:
Komut isteminde çıplak dosya adlarını yinelemeli olarak alma

Bir dizindeki tüm dosyaları özyinelemeli olarak, yalnızca dosya adlarını (uzantılar olmadan ve tam yollar olmadan) göstermeyi istiyorum. Windows / DOS kullanıyorum.

En yakın ben dirvardı dir /s /b, ama tam yolları listeler ve ayrıca uzantıları gösterir.

Belki de uzantılarla yaşayabilirdim, ama yollardan kurtulmalıyım!

Herhangi bir fikir?


1
Hangi Windows sürümü?
OldWolf

@OldWolf: XP. Herhangi bir üçüncü taraf yazılımı kullanmamayı tercih ediyorum /
David B

Yanıtlar:


28
cd /d C:\Path\To\Source\Folder
for /r %i in (*) do @echo %~ni

Listenin bir dosyaya kaydedilmesi gerekiyorsa >> C:\Path\To\list_file.txt, forkomutun sonuna ekleyin .

Eğer uzantıları isteyen sonunda ise değiştirmek %~niiçin%~nxi

Bir toplu iş dosyasında kullanmak için %,%%


6
Yol, ad ve uzantıya ihtiyacınız varsa,% ~ ni değerini% ~ pnxi olarak değiştirin
Deep

bu çalışır, ancak gizli dosyaları göstermez. Gizli dosyaları da nasıl görebilirim?
ala

@ala: Gizli dosyaları göstermek istiyorsanız, David Remy'nin cevabı gibi bir şeyi yalnızca dirkomuta iletilen uygun bayraklarla kullanmanız gerekir .
afrazier

7

Powershell'i yüklemek istiyorsanız, bu komut bunu yapmalıdır.

get-childitem "d:\acc" -recurse|foreach {$_.Basename}

5

Aşağıdaki gibi bir şey yapmak size istediğinizi sağlayacaktır:

@for /f "delims=" %a in ('Dir /s /b %systemdrive%') do echo %~na

Çıkışı bir dosyaya bağlayın ve gerekirse oradan kullanın.


3

Üçüncü taraf bir yazılım olarak düşünüp düşünmediğinizi bilmiyorum, çünkü Microsoft ve 7 ile birlikte gelir, ancak powershell sorununuzun çoğunu kolayca çözecektir. Henüz yüklemediyseniz, Microsoft'un sitesinde XP için kullanılabilir.

Get-ChildItem -path "C:\Program Files\" -recurse | foreach ($_) {
    write $_.name
}
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.