Batch - einfache Ausgabe von Erstellungsdatum, Pfad, Dateiname leerzeichengetrennt in txt
Das Problem erscheint trivial - jedoch habe ich dazu nichts im Internet gefunden.
Mit Programmiersprachen im allgemeinen kenne ich mich aus, jedoch nicht besonders gut mit Batch-Befehlen (mit Perl wüsste ich, wie man's macht ).
Ich brauche "einfach" nur eine Textdatei, die von einem kompletten Laufwerk folgendes zeilenweise mit leerzeichen oder tab getrennt auflistet:
Erstellungsdatum Erstellungszeit Dateipfad/Dateiname
Beispiel:
21.08.2010 10:20 C:\Pfad\Dateiname.xls
(oder von mir aus andersrum, hauptsache aber mit leerzeichen oder tab getrennt!)
Mit einem einfachen Dir-Befehl bekomme ich das nicht hin.
Selbst wenn ich es per "Dir C:\ /TC >>test.txt" in eine Datei packe, bekomme ich die Formatierung der Datei mit einer FOR-Schleife nicht hin, da er mir mit dem Dir-Befehl zwischen Uhrzeit und Dateipfad beliebig viele Leerzeichen speichert.
Gibt es nicht einen einfachen Batch-Befehl, mit dem man direkt die gesamte Festplatte durchgeht und nur die Variablen "Pfad", "Name" und "Erstellzeit" speichert?
Vielen Dank! )
Grüße
Sven
Mit Programmiersprachen im allgemeinen kenne ich mich aus, jedoch nicht besonders gut mit Batch-Befehlen (mit Perl wüsste ich, wie man's macht ).
Ich brauche "einfach" nur eine Textdatei, die von einem kompletten Laufwerk folgendes zeilenweise mit leerzeichen oder tab getrennt auflistet:
Erstellungsdatum Erstellungszeit Dateipfad/Dateiname
Beispiel:
21.08.2010 10:20 C:\Pfad\Dateiname.xls
(oder von mir aus andersrum, hauptsache aber mit leerzeichen oder tab getrennt!)
Mit einem einfachen Dir-Befehl bekomme ich das nicht hin.
Selbst wenn ich es per "Dir C:\ /TC >>test.txt" in eine Datei packe, bekomme ich die Formatierung der Datei mit einer FOR-Schleife nicht hin, da er mir mit dem Dir-Befehl zwischen Uhrzeit und Dateipfad beliebig viele Leerzeichen speichert.
Gibt es nicht einen einfachen Batch-Befehl, mit dem man direkt die gesamte Festplatte durchgeht und nur die Variablen "Pfad", "Name" und "Erstellzeit" speichert?
Vielen Dank! )
Grüße
Sven
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 173439
Url: https://administrator.de/contentid/173439
Ausgedruckt am: 23.11.2024 um 05:11 Uhr
9 Kommentare
Neuester Kommentar
Hallo Lucky777!
Sorry - war nicht wirklich durchdacht ...
... so sollte das besser gehen (ich schreibe absichtlich nicht "laufen" ):
Falls tatsächlich Pfad und Dateiname getrennt werden sollen, etwa so:
@ph
Schöner Ansatz - es sollte aber der komplette Pfad werden ...
Grüße
bastla
[Edit] Wie von Skye angeregt überflüssigen Schalter "/tc" entfernt [/Edit]
Sorry - war nicht wirklich durchdacht ...
... so sollte das besser gehen (ich schreibe absichtlich nicht "laufen" ):
(for /f "delims=" %i in ('dir /s /b /a-d C:\') do @for /f "tokens=1-2" %a in ('dir /tc "%i"^|findstr /i /c:"%~nxi"') do @echo %a %b %i)>>test.txt
(for /f "delims=" %i in ('dir /s /b /a-d C:\') do @for /f "tokens=1-2" %a in ('dir /tc "%i"^|findstr /i /c:"%~nxi"') do @echo %a %b "%~dpi" "%~nxi")>>test.txt
Schöner Ansatz - es sollte aber der komplette Pfad werden ...
Grüße
bastla
[Edit] Wie von Skye angeregt überflüssigen Schalter "/tc" entfernt [/Edit]