Änderungsdatum von Datei ermitteln - NICHT Erstellungsdatum
Hallo zusammen, ich hoffe jmd. kann mir sagen, wie ich hier weiterkomme ... ich denke, es ist nur eine Kleinigkeit...
Ich möchte gerne die beiden Datumsangaben für "geändert am" zweier Dateien vergleichen.
hier im Forum habe ich gesehen, dass ich mir das Datum folgendermaßen ausgeben lassen kann:
for %i in ("%ProgramFiles%\Datei") do @echo %~ti
Es scheint aber leider das "erstellt am"-Datum sein und somit nicht das, was ich brauche...
Ich hab mir meine beiden Dateien angesehen. Als Ausgabe erhalte ich das Erstellungsdatum.
Ich habe auch schon mal wild herumprobiert, von wegen %~tm oder %~tl - so nach dem Motto: könnte "last modified" heißen. Hat natürlich nicht funktioniert
Kann mir jmd. sagen, wie ich dahinter komme? Oder zumindest wonach ich suche könnte...
Danke und Gruß
Nadine
Ich möchte gerne die beiden Datumsangaben für "geändert am" zweier Dateien vergleichen.
hier im Forum habe ich gesehen, dass ich mir das Datum folgendermaßen ausgeben lassen kann:
for %i in ("%ProgramFiles%\Datei") do @echo %~ti
Es scheint aber leider das "erstellt am"-Datum sein und somit nicht das, was ich brauche...
Ich hab mir meine beiden Dateien angesehen. Als Ausgabe erhalte ich das Erstellungsdatum.
Ich habe auch schon mal wild herumprobiert, von wegen %~tm oder %~tl - so nach dem Motto: könnte "last modified" heißen. Hat natürlich nicht funktioniert
Kann mir jmd. sagen, wie ich dahinter komme? Oder zumindest wonach ich suche könnte...
Danke und Gruß
Nadine
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 119514
Url: https://administrator.de/forum/aenderungsdatum-von-datei-ermitteln-nicht-erstellungsdatum-119514.html
Ausgedruckt am: 19.05.2025 um 14:05 Uhr
11 Kommentare
Neuester Kommentar
Hallo baenky und willkommen im Forum!
Eigentlich solltest Du mit "~ti" tatsächlich das Änderungsdatum erhalten ...
Mit der folgenden Zeile kannst Du aber genau (durch die Option "/t" des "dir"-Befehles) festlegen, welches Datum es nun sein soll:
Grüße
bastla
Eigentlich solltest Du mit "~ti" tatsächlich das Änderungsdatum erhalten ...
Mit der folgenden Zeile kannst Du aber genau (durch die Option "/t" des "dir"-Befehles) festlegen, welches Datum es nun sein soll:
for /f "tokens=1,2" %i in ('dir "%ProgramFiles%\Datei" /tw^|findstr /i /c:" Datei"') do @echo %i_%j
bastla
Hallo baenky!
solltest Du auch Datum und Uhrzeit als Ergebnis erhalten.
Grüße
bastla
mit Deinem Code erhalte ich die Anzahl der Dateien - kann das sein?
Sollte es nicht - wenn Du für "Datei" jeweils einen korrekten Dateinamen inkl. Typ einsetzt, also etwaZ:\>for /f "tokens=1,2" %i in ('dir "%programfiles%\mozilla firefox\firefox.exe" /tw^|findstr /i /c:" firefox.exe"') do @echo %i_%j
Grüße
bastla
Moin Baenky,
willkommen im Forum auch von mir.

Grüße
Biber
willkommen im Forum auch von mir.
Zitat von @Baenky:
Jetzt muss ich eigentlich nur noch die Daten vergleichen...
ich denke dann sollte ich durch sein.
Genau genommen erst dann, wenn dieser Beitrag auch einen klitzekleinen Toastbrot-aus-2008-farbenen Haken von Dir erhält. Jetzt muss ich eigentlich nur noch die Daten vergleichen...
ich denke dann sollte ich durch sein.
Grüße
Biber

Ja.
Im Batch muss für Schleifenvariablen ein doppeltes Prozentzeichen verwendet werden, alse
for %%i in ("K:\Install\AMS.exe") do set dateRC=%%~ti
for %%i in ("%ProgramFiles%\AMS\AMS.exe") do set dateLokal=%%~ti
In einer Subroutine (Sprungmarke) kannst du auch mehrere Anweisungen verarbeiten.

dateLocal und dateRC
Das sind keine Schleifenvariablen, sondern ganz normale Variablen.
Ja.
Schleifenvariablen (=dynamische Laufvariablen) werden von den FOR-Anweisungen generiert und ggf. etwas spezielle ausgegeben.
D.h diese Variablen
Grüße
Biber
Schleifenvariablen (=dynamische Laufvariablen) werden von den FOR-Anweisungen generiert und ggf. etwas spezielle ausgegeben.
D.h diese Variablen
- existieren nur, solange auch die FOR-Anweisung ausgeführt wird
- heißen am CMD-Prompt "%+ein Nicht-Ziffern-Zeichen" -->%i, %j ..oder %A, %B
- heißen im Batch "%%+ein Nicht-Ziffern-Zeichen" -->%%i, %%j ..oder %%A, %%B
- können leicht abgeschrägte Datailwerte liefern (%~ti ---> %%~ti etc)
- können ein paar Sachen nicht, die mit SET gesetzte Variable mit links schaffen (Substring oder einzelnes Zeichen zurückgeben)
Grüße
Biber