2012-03-01 16:41:41 +0000 2012-03-01 16:41:41 +0000
17
17

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?

Antworten (5)

32
32
32
2012-03-01 16:45:04 +0000

Es ist sehr, sehr einfach im Windows-Befehlszeileninterpreter (alle Windows-Betriebssysteme):

  1. Öffnen Sie eine Befehlszeile (Start -> Ausführen -> cmd Enter)
  2. Navigieren Sie (cd) zu dem Verzeichnis, dessen Dateien Sie auflisten möchten:
  3. Geben Sie 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.

9
9
9
2012-03-01 16:48:49 +0000

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.

6
6
6
2012-03-01 17:00:49 +0000

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.

2
2
2
2012-03-01 20:56:00 +0000

Eine andere Unix-Variante wäre

ls -R > myfile.txt

Dies würde alles im aktuellen Verzeichnis und in rekursiven Verzeichnissen auflisten.

1
1
1
2012-06-10 04:26:54 +0000

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.