Listet alle Dateien in allen Unterordnern auf


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


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.


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).


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?


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.


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.
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.