Listet alle Dateien in allen Unterordnern auf

33

Gibt es in Windows eine Möglichkeit, eine Liste aller Dateien in einem Ordner abzurufen, einschließlich aller Dateien in allen Unterordnern?

Edward Wong Hau Pepelu Tivrusk
quelle

Antworten:

37

Alle Dateien rekursiv auflisten

C: \> dir / s

Um sie in einer Datei zu speichern

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

Zeigen Sie sie Seite für Seite an

C: \> dir / s | Mehr

Nifle
quelle
3
Na gut ... Das wird auch funktionieren. Ich frage mich nur, warum niemand die Standard-Suchfunktion von Windows verwendet. :-)
Wim ten Brink
2
@Workshop Alex: Weil 1) rekursiv dirnur ein bisschen schneller ist, wenn keine Bedingungen überprüft werden müssen; 2) Sie können die Namen in einer Datei speichern.
Grawity
4
@WimtenBrink: und wie soll die Windows-Suche an einen anderen Benutzer gesendet werden?
Adolf Knoblauch
1
Sie brauchen nicht mehr zu
leiten
3
Da die Frage keine Verzeichnisse enthält, sollte es so sein dir /a-d /b /s.
Jiggunjer
15

Versuchen Sie es mit tree / f. Dies sollte die gesamte Struktur ausgeben.

Alex
quelle
1
Welches wird als Baum angezeigt, keine Liste.
Joey
Sie glauben nicht, dass das OP dieses Ergebnis als Liste betrachten würde?
Hyperslug
2
Ich dachte, der Befehl tree hätte die beste Formatierung, sodass Sie die Ebene der Unterordner klar erkennen können.
Alex
es hat die beste Struktur. Kann es als Textdatei oder HTML-Datei gespeichert werden?
Xypha
versucht tree /f>filelist.txtund es hat funktioniert.
Xypha
5

Sie erhalten UnixUtils bei SourceForge , das wird Ihnen geben find.exe.

Sie können dann die folgenden Schritte ausführen, um eine Liste aller Dateien mit Ordnerpfaden anzuzeigen.

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

Es gibt andere Formen des Unix-Befehls, die für Sie nützlich sein können.
Die Ausgabe ist im Vergleich zu der nativen Ausgabe dirund den treeBefehlen durchsuchbarer .


Aktualisiert mit Eingabe von Johannes.
In der cmd.exeSchale

dir /b /s

funktioniert sehr gut für eine rekursive Auflistung in der mit Widows formatierten Form
(so dass Sie " C:\" und die umgekehrten Schrägstriche sehen, ' \').
Ich habe die Antwort von " \b" in komplett verpasst Nifle! (+1 für das jetzt).

nik
quelle
Hier muss nichts installiert werden, da dies dirdurchaus möglich ist.
Joey
1
@Johannes, hast du eine Unix- findAusgabe mit einem DOS verglichen dir /soder treewas das angeht ?
Nik
1
Hast du jemals benutzt dir /b? :-)
Joey
@Johannes, eigentlich kann ich mich nicht erinnern, ob ich das in den DOS 6.22 Tagen getan habe. Got mehr verwendet findund mit Cygwin, nie die DOS - Befehle versucht (mich eigentlich brauchte einen Moment , um offene cmdSchale und vermeiden Sie /usr/bin/dirdiese Option , um zu versuchen aber, es funktioniert, froh , das zu lernen.:-)
nik
2

Warum so komplex? Drücken Sie die Windows-Taste + F, um die "Dateisuche" in Windows zu starten. Gehen Sie links zu "Suchen in" und wählen Sie unten die Option "Durchsuchen ..." aus. Wählen Sie den (Unter-) Ordner, in dem Sie suchen möchten. Geben Sie "*" (ohne Anführungszeichen) in das Bearbeitungsfeld "Gesamter oder Teil des Dateinamens" ein und starten Sie die Suche. Holen Sie sich einen Kaffee, wenn Sie auf einer großen Festplatte mit vielen Daten suchen, und warten Sie, bis diese explorerbasierte Suchmaschine eine vollständige Liste anzeigt. Sie können es durchsuchen, Dateien direkt öffnen und bei Bedarf sogar Ihre Suche eingrenzen.

Warum vergessen die Leute dieses Standardsuchverhalten von Windows?

Wim ten Brink
quelle
3
weil es nicht 1337 ist? :-)
Natrium
13
Es würde Ihnen zum Beispiel schwer fallen, das in eine Textdatei zu bekommen.
Joey
Stimmt, aber warum sollte es jemand in einer Textdatei haben wollen? :-)
Wim ten Brink
2
Beachten Sie, dass dies (zumindest unter Windows XP) auch alle ZIP-Dateien in allen Unterordnern durchsucht . Welches wird schrecklich langsam sein. Welches ist wahrscheinlich nicht das, was Sie wollen. Welches kann nicht einfach ausgeschaltet werden. Wenn es keine ZIP-Dateien gibt, bin ich damit einverstanden, dass dies der beste Ansatz ist.
Martin
@Wim: Ihr 5-Schritte-Prozess (Win + F, Durchsuchen, Unterordner, *, Start) ist viel langsamer als die Eingabe von "dir / s" (für einen Schreibenden, der mehr als 100 Wörter pro Minute eingibt und gewohnt ist, Dinge zu tun) an einer Eingabeaufforderung, so wird es häufig vorab geöffnet). Der von Ihnen erwähnte Prozess hat sich auch mit Windows-Versionen geändert, während "dir / s" konsistent war. Ihr Prozess erfordert außerdem das Drücken von Win + F, was nicht immer einfach ist. Selbst wenn eine Tastatur über die Windows-Taste verfügt, ist diese Taste manchmal schwieriger zu verwenden, z. B. in RAS-Szenarien, in denen die Taste möglicherweise vom lokalen Computer anstelle der Fernbedienung verwendet wird
TOOGAM
1

Ich finde diese Batch-Datei alle nützlich

DragDropListFile.bat

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

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

Verwendung: Ziehen Sie den Ordner einfach in die Datei DragDropListFile.bat und legen Sie ihn dort ab. Anschließend wird eine Datei mit dem Namen list.txt erstellt, die die gewünschten Informationen enthält.

Wenn Sie Drag & Drop nicht mögen, probieren Sie diese Batch-Datei

ListFile.bat

ECHO OFF

SET crtPath=%~dp0

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

Verwendung: Legen Sie die Datei ListFile.bat in den Ordner, in dem Sie die Dateien auflisten möchten, und führen Sie die Datei ListFile.bat aus. Anschließend wird eine Datei mit dem Namen list.txt erstellt, die die gewünschten Informationen enthält.

123iamking
quelle
0

dir /s /w >files.txtSie werden den größten Teil des Weges dorthin zurücklegen. Es wird die Erweiterungen behalten. Dann öffnen Sie files.txtin einem Texteditor und entweder

  • sortiere alle Zeilen und lösche die überflüssigen
  • oder entfernen Sie sie durch Suchen und Ersetzen oder 2.
    • Der Regex ^ +\d+ File.+\r\n\r\n Dir.+\r\n\r\nhat die Lücken und Ordnerdetails zwischen den einzelnen Ordnerdateien in Notepad ++ für mich beseitigt.
  • Dann schneiden Sie einfach den oberen und unteren Rand der Textdatei.
CAD-Typ
quelle