erstelldatum und -uhrzeit einer datei anzeigen
Hallo zusammen,
Kann ich mit einer Batchdatei alle Dateien mit Erstelldatum und Uhrzeit anzeigen?
zum Beispiel:
im Ordner ABC sind folgende Dateien:
Name Erstellt am
beispiel.txt 13.05.08 17:08
beispiel2.txt 13.05.08 17:10
beispiel3.txt 12.05.08 13:43
beispiel4.txt 13.05.08 18:50
Die Batch sollte dann zB folgendes anzeigen:
"Im Ordner ABC sind folgende Dateien:
beispiel.txt 13.05.08 17:08
beispiel2.txt 13.05.08 17:10
beispiel3.txt 12.05.08 13:43
beispiel4.txt 13.05.08 18:50"
Kann ich mit einer Batchdatei alle Dateien mit Erstelldatum und Uhrzeit anzeigen?
zum Beispiel:
im Ordner ABC sind folgende Dateien:
Name Erstellt am
beispiel.txt 13.05.08 17:08
beispiel2.txt 13.05.08 17:10
beispiel3.txt 12.05.08 13:43
beispiel4.txt 13.05.08 18:50
Die Batch sollte dann zB folgendes anzeigen:
"Im Ordner ABC sind folgende Dateien:
beispiel.txt 13.05.08 17:08
beispiel2.txt 13.05.08 17:10
beispiel3.txt 12.05.08 13:43
beispiel4.txt 13.05.08 18:50"
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 87584
Url: https://administrator.de/contentid/87584
Ausgedruckt am: 20.11.2024 um 00:11 Uhr
2 Kommentare
Neuester Kommentar
Moin spreader,
zumindest das Wesentliche dieser Ausgabe würde eine Zeile dieser Art leisten.
[Demo am CMD-Prompt]
Wobei die Ausgabe NICHT wie eine Tabelle aussieht, da die Dateinamen in der Praxis sehr unterschiedliche Längen haben und Name, Datum und Uhrzeit (%d %a %b) immer nur durch ein Leerzeichen getrennt werden.
Zur Weiterverarbeitung z.b. in einer CSV-Datei ist das akzeptabel, zum Lesen am Bildschirm grauenhaft.
Probiers aber ruhig aus.
Wenn Du die Ausgabereihenfolge wieder auf "Datum, Uhrzeit, Dateiname" drehst (%a %b %c) ist es optisch gefälliger.
Als Batchdatei ZeigDir.cmd mit einem Pflichtparameter pfad könnte es so aussehen:
Grüße
Biber
zumindest das Wesentliche dieser Ausgabe würde eine Zeile dieser Art leisten.
[Demo am CMD-Prompt]
for /f "tokens=1,2,3,*" %a in ('dir "X:\ABC\*.*" /a-d /-c /tc^|find "."') do @echo %d %a %b
Zur Weiterverarbeitung z.b. in einer CSV-Datei ist das akzeptabel, zum Lesen am Bildschirm grauenhaft.
Probiers aber ruhig aus.
Wenn Du die Ausgabereihenfolge wieder auf "Datum, Uhrzeit, Dateiname" drehst (%a %b %c) ist es optisch gefälliger.
Als Batchdatei ZeigDir.cmd mit einem Pflichtparameter pfad könnte es so aussehen:
::----------snipp ZeigDir.cmd parameter1=[Lw:\]verzeichnis
@echo Im Ordner %1 sind folgende Dateien:
@for /f "tokens=1,2,3,*" %%a in ('dir "%~1\*.*" /a-d /-c /tc^|find "."') do @echo %%d %%a %%b
Grüße
Biber
Nachtrag:
Weil bestimmt noch von irgendwem die Anmerkung kommt, dass der über ein normales "DIR"-Kommando hinausgehende Informationsgehalt gegen Null tendiert und es von daher aller Dönekens wäre..... stimmt schon. Aber mit einer kleinen konzeptionellen Änderung lässt sich damit etwas Neckisches machen.
Ich könnte doch nämlich auch (was ein DIR so nicht kann) Erstellungs- und Änderungsdatum (Created/Modified) nebeneinanderstellen.
Oder mir nur die Dateien anzeigen lassen, die nachbearbeitet wurden.
Demo am CMD-Prompt:
Das ist insofern ganz informativ, weil (probiert es mal aus) einem sofort viele Dateien ins Auge springen, bei denen das Änderungsdatum vor dem Erstellungsdatum liegt...
Was allerdings in gewisser Weise logisch ist.. obwohl ich auch erst zweimal hingucken musste.
Da es für diese Art Anzeige nötig ist, in das anzulistende Verzeichnis zu wechseln ist im Batch folgende Anpassung nötig:
[ungetestet und ohne das IF NEQ/nur geänderte Dateien]
Grüße
Biber
Weil bestimmt noch von irgendwem die Anmerkung kommt, dass der über ein normales "DIR"-Kommando hinausgehende Informationsgehalt gegen Null tendiert und es von daher aller Dönekens wäre..... stimmt schon. Aber mit einer kleinen konzeptionellen Änderung lässt sich damit etwas Neckisches machen.
Ich könnte doch nämlich auch (was ein DIR so nicht kann) Erstellungs- und Änderungsdatum (Created/Modified) nebeneinanderstellen.
Oder mir nur die Dateien anzeigen lassen, die nachbearbeitet wurden.
Demo am CMD-Prompt:
(= 6:52:56 D:\temp=)
>for /f "tokens=1,2,3,*" %a in ('dir "x.*" /a-d /-c /tc^|find "."') do @if "%a %b" NEQ "%~td" @echo %a %b %~td %d
19.10.2007 00:03 04.04.2008 12:59 x.bat
19.02.2008 23:45 01.04.2008 22:18 x.txt
04.04.2008 13:00 15.04.2008 18:26 x.vbs
Das ist insofern ganz informativ, weil (probiert es mal aus) einem sofort viele Dateien ins Auge springen, bei denen das Änderungsdatum vor dem Erstellungsdatum liegt...
Was allerdings in gewisser Weise logisch ist.. obwohl ich auch erst zweimal hingucken musste.
Da es für diese Art Anzeige nötig ist, in das anzulistende Verzeichnis zu wechseln ist im Batch folgende Anpassung nötig:
::----------snipp ZeichDir.cmd parameter1=[Lw:\]verzeichnis
@pushD "%~1"
@echo Im Ordner %1 sind folgende Dateien:
@echo Erstellt Geändert Name
@for /f "tokens=1,2,3,*" %%a in ('dir *.* /a-d /-c /tc^|find "."') do @echo %%a %%b %%~td %%d
@PopD
Grüße
Biber