Tüm alt klasörlerdeki tüm dosyaları listele


Yanıtlar:


37

Tüm Dosyaları Tekrarlı Olarak Listeleme

C: \> dir / s

Onları bir dosyaya kaydetmek için

C: \> dir / s /b>filelist.txt

Bir kerede bir sayfa görüntüleme

C: \> dir / s | Daha


3
Tamam, tamam ... Bu da işe yarayacak. Neden kimsenin bunun için Windows'un standart Arama işlevini kullanmadığını merak ediyorum. :-)
Wim ten Brink

2
@ Atölye Alex: Çünkü 1) özyinelemeler dirherhangi bir koşulu kontrol etmek zorunda kalmıyorsa biraz daha hızlıdır; 2) isimleri bir dosyaya kaydetmenizi sağlar.
Gravity

4
@WimtenBrink: Windows aramalarını başka bir kullanıcıya nasıl göndereceksiniz?
adolf sarımsak

1
Daha fazla boruya ihtiyacınız yok, sadece / p anahtarına ihtiyacınız var (aynı şeyi yapar)
Keltari

3
Soru dizinlerden bahsetmediğinden, olması gerektiği gibi dir /a-d /b /s.
jiggunjer,

15

Ağaç / f deneyin. Bu, tüm yapıyı vermelidir.


1
Bir liste olarak değil, bir ağaç olarak gösterilecektir.
Joey

OP'nin bu sonucu bir liste olarak değerlendireceğini düşünmüyor musunuz?
hiperslug

2
Ağaç komutunun en iyi biçimlendirmeye sahip olacağını ve alt klasörlerin seviyesini net bir şekilde görmenizi sağlayan olacağını düşündüm.
alex

en iyi yapıya sahiptir. Bir metin dosyası veya html dosyası olarak kaydedilebilir mi?
xypha

denedim tree /f>filelist.txtve işe yaradı.
xypha

5

UnixUtils'i sourceforge'da alacaksınız , bu size verecek find.exe.

Daha sonra, klasör yollarının bulunduğu tüm dosyaların listesi için aşağıdakileri yapabilirsiniz.

cd Path\to\folder
find.exe . -type f

Unix komutunun sizin için yararlı olabilecek başka formları da vardır.
Çıktı yerel dirve treekomutlara göre daha fazla arama yapabiliyor .


Girişi ile güncellendi Johannes.
olarak cmd.exekabuk

dir /b /s

Dul biçimli biçimde özyinelemeli bir liste için oldukça iyi çalışıyor
(bu nedenle " C:\" ve ters eğik çizgiler, ' \' göreceksiniz ).
" \b" In Niflecevabını tamamen kaçırdım ! (Şimdi bunun için +1).


Buraya bir şey kurmanıza gerek yok, bunun diriçin mükemmel bir yetenek.
Joey,

1
@Johannes, bir Unix kıyasla sahip findbir DOS ile çıkış dir /sveya treebu konuda?
nik

1
Hiç kullandın dir /bmı? :-)
Joey

@Johannes, DOS 6.22 gün içinde bunu yaptım aslında hatırlayamıyorum. Daha alıştım findve Cygwin ile, dos komutları hiç denemedim (aslında açık beni bir an sürdü cmdkabuk ve kaçınmak /usr/bin/dirolduğunu öğrenmek için memnun; o nasıl çalışır, bu seçeneği denemek Ama.:-)
Nik

2

Neden bu kadar karmaşık? Windows'ta "Dosya Arama" işlemini başlatmak için Windowskey + F tuşlarına basın. Soldaki "Bak" a gidin ve en alttaki "Gözat ..." adlı seçeneği seçin. Aramak istediğiniz (alt) klasörü seçin. "Dosya adının tamamı ya da bir kısmı" düzenleme kutusuna "*" (tırnak işaretleri olmadan) girin ve aramayı başlatın. Çok fazla veri içeren büyük bir diskte arama yaparken biraz kahve alın ve bu kaşif tabanlı arama motorunun size tam bir liste göstermesini bekleyin. Arama yapabilir, dosyaları doğrudan açabilir ve gerekirse aramanızı daraltabilirsiniz.

İnsanlar neden Windows'un bu varsayılan arama davranışını unutuyor?


3
1337 değil çünkü? :-)
Natrium

13
Örneğin, bunu bir metin dosyasına almakta zorlanacaksınız.
Joey

Doğru, ama neden biri onu bir metin dosyasında istiyor? :-)
Wim ten Brink

2
Bunun (en azından Win XP'de) tüm alt klasörlerdeki tüm ZIP dosyalarını da arayacağını unutmayın . Bu korkunç derecede yavaş olacak. Bu muhtemelen istediğin şey değil. Kolayca kapatılamaz. ZIP dosyası yoksa, bunun en iyi yaklaşım olduğuna katılıyorum.
Martin

@Wim: 5 adımlı işleminiz (Win + F, Browse, Subfolder, *, Start), "dir / s" (dakika başına 100 kelimeden fazla yazan ve yazma yapmak için kullanılan bir daktilo için) yazmaktan çok daha yavaştır. komut isteminde, bu yüzden sık sık önceden açılır). Ayrıca, bahsettiğiniz işlem Windows sürümlerinde değişirken "dir / s" tutarlı olmuştur. Ayrıca, işleminiz her zaman kolay olmayan Win + F tuşlarına basılmasını gerektirir. Bazen, bir klavyede Windows tuşu olsa bile, tuşun uzaktan kumanda yerine yerel bilgisayar tarafından kullanılabileceği Uzaktan Erişim senaryolarında olduğu gibi, bu tuşun kullanılması daha zor olabilir
TOOGAM

1

Bu toplu iş dosyasını her kullanışlı buluyorum

DragDropListFile.bat

@ECHO OFF
SET targetPath="%~1"
SET ToolPath=%~dp0

dir %targetPath% /b /s /a-d > "%ToolPath%list.txt"

Kullanımı: Sadece klasörü sürükleyin ve sürüklediğiniz dosyayı DragDropListFile.bat dosyasına bırakın, daha sonra ne istediğinizi içeren list.txt adlı bir dosya oluşturulur.

Sürükle ve bırak özelliğini beğenmezseniz, bu toplu iş dosyasını deneyin

ListFile.bat

ECHO OFF

SET crtPath=%~dp0

dir "%crtPath%" /b /s /a-d > list.txt

Kullanımı: ListFile.bat dosyasını dosyaları listelemek istediğiniz klasöre koyun, daha sonra ListFile.bat dosyasını çalıştırın, daha sonra ne istediğinizi içeren list.txt adlı bir dosya oluşturulur.


0

dir /s /w >files.txtSeni oradaki yollardan çoğuna götüreceğim. Uzantıları tutacak. Sonra files.txtbir metin düzenleyicide açın ve

  • tüm satırları sıralayın ve gereksiz olanları silin
  • veya bul ve değiştir işlemi veya 2 ile bunları kaldırın.
    • Regex ^ +\d+ File.+\r\n\r\n Dir.+\r\n\r\nbenim için Notepad ++ 'daki ayrı ayrı dosya listeleri arasındaki boşluklardan ve klasör detaylarından kurtuldu.
  • Sonra sadece metin dosyasının üst ve kuyruğunu kırpın.
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.