Wie kann ich eine Liste von Dateinamen in eine Textdatei kopieren?
Wie kann ich die Namen von Dateien in einem Verzeichnis in eine Textdatei oder in die Zwischenablage kopieren?
Wie kann ich die Namen von Dateien in einem Verzeichnis in eine Textdatei oder in die Zwischenablage kopieren?
Es ist sehr, sehr einfach im Windows-Befehlszeileninterpreter (alle Windows-Betriebssysteme):
cmd
Enter) cd
) zu dem Verzeichnis, dessen Dateien Sie auflisten möchten: dir > output_file_name
ein (z.B, Öffnen Sie die neu erstellte Textdatei (dir > C:\dir.txt
), und Sie haben die vollständige Ausgabe des Befehls C:\dir.txt
in diesem Verzeichnis.
Das Größer-als-Zeichen (dir
) steht für die Umleitung der Ausgabe; es sendet die Ausgabe der meisten Befehle in eine von Ihnen angegebene Datei und ist sehr praktisch, um die Ausgabe von Befehlen zu protokollieren.
Die Ausgabe kann mit all den verschiedenen Optionen gesteuert werden, die für die Anpassung der normalen Ausgabe des DIR-Befehls zur Verfügung stehen; fügen Sie einfach die Ausgabeumleitung am Ende der Argumente hinzu, die Sie für die Ausgabe in die Textdatei verwenden möchten.
Aktualisierung: Erstellung eines Rechtsklick-Kontextmenüs zur Erstellung einer Auflistung der Verzeichnisinhalte
Erstellen Sie eine Batch-Datei und speichern Sie sie als >
:
@echo off
set dirpath=%1
dir %dirpath% /-p /o:gn > "%dirpath%\DirContents.txt"
exit
Öffnen Sie Ihr Verzeichnis %windir%\DirList.bat
:
Windows 7/Vista: SendTo
Windows XP: %appdata%\Microsoft\Windows\SendTo
Erstellen Sie eine neue Verknüpfung, die auf %USERPROFILE%\SendTo
zeigt, und nennen Sie sie nach Belieben.
Klicken Sie nun mit der rechten Maustaste auf ein beliebiges Verzeichnis und wählen Sie das Untermenü DirList.bat
, um Ihren neuen Befehl zum Auflisten von Verzeichnisinhalten anzuzeigen.
HINWEIS: Dies funktioniert nur, wenn Sie mit der rechten Maustaste auf ein Verzeichnis klicken, und es werden nur die Inhalte des Verzeichnisses aufgelistet, auf das Sie mit der rechten Maustaste geklickt haben. Es speichert die Liste auch in diesem Verzeichnis (um das Überschreiben anderer Dateien zu vermeiden). Das Skript könnte leicht modifiziert werden, um zu ändern, wo die Ausgabelistendatei gespeichert wird.
Sie können dir /b > files.txt
von der Befehlszeile aus verwenden, um die Liste der in files.txt
gespeicherten Dateinamen zu erhalten. Fügen Sie ein /s
hinzu, wenn Sie eine rekursive Auflistung wünschen.
Um den Inhalt direkt in die Zwischenablage zu stellen, leiten Sie die Ausgabe einfach über die Pipeline an clip
weiter, d.h. führen Sie dir /b | clip
aus.
Da Sie kein Betriebssystem erwähnt haben, hier ist, wie es auf *nix funktioniert:
$ find . -maxdepth 1 -type f > /tmp/files.txt
für Dateien im aktuellen Verzeichnis oder
$ find . -type f > /tmp/files.txt
, wenn Sie alle Dateien in einem Verzeichnisbaum erhalten möchten.
Erstellen Sie im Datei-Explorer von Windows eine Verknüpfung im SendTo-Ordner und geben Sie den folgenden Befehl ein:
%windir%\system32\cmd.exe /k dir /b "%1"
entfernen Sie den “Start in”-Text
Nachdem der Befehl einmal ausgeführt wurde, können Sie die Standardeinstellungen für das Fenster ändern (z.B. Auswahl mit der Maus, statt Bearbeiten → markieren).
Das einzige Problem ist, dass Sie die erste Zeile (in der “Datei nicht gefunden” steht) ignorieren müssen.