batch - Letzte Änderungszeit der Datei mit Sekunden

14381
user3133076

Ich möchte wissen, wann eine Datei zum letzten Mal geändert wurde.

Ich kann diese Informationen mit dem folgenden Batch-Skript erhalten:

FOR %% i IN (myfile) SET SET modif_time = %% ~ ti

Das Problem ist, dass ich die zweite der letzten Änderung brauche und der Befehl %~tdas Datum und die Uhrzeit mit nur Stunden und Minuten zurückgibt.

Ich kann die Sekunden nur überprüfen, indem Sie die "Eigenschaftsfenster" Datei für Datei manuell anzeigen.

Wie bekomme ich die Zeit mit Sekunden im Stapel?

5
Sind Sie wirklich sicher, dass mit `dir / od` die Dateien" zufällig "sortiert werden, wenn sie in derselben Minute erstellt werden? Für mich macht das `cmd 'die Sortierung korrekt (obwohl die Sekunden nicht angezeigt werden). Sie können der Anweisung [this] (http://superuser.com/questions/91287/windows-7-file-properties-date-modified-how-do-you-show-seconds#470017) folgen, um die Sekunden im Eigenschaften-Dialog im Explorer, um sicherzustellen, Rik vor 10 Jahren 0
Und wenn Sie wirklich die Sekunden in Ihrem Skript wollen, sollten Sie einen Powerscript-Befehl ausführen, um ihn zu erhalten. Siehe [hier] (http://superuser.com/questions/591438/how-can-i-display-the-time-stamp-of-a-file-with-seconds-von-the-command-line#591459) ) für eine Lösung. Rik vor 10 Jahren 1
Ich kontrollierte erneut und die Dateien werden NICHT zufällig sortiert, sondern auf die richtige Art und Weise, auch wenn die Minute gleich ist. Vielleicht habe ich beim ersten Check etwas falsch gemacht. Mein Fehler Vielen Dank. @Rik user3133076 vor 10 Jahren 0

2 Antworten auf die Frage

6
and31415

Windows Vista / 7 und höher

Windows Server 2003 und höher

Mit etwas Aufwand können Sie forfilesdie letzte Änderungszeit einer bestimmten Datei (einschließlich Sekunden) abrufen:

REM "delims=" is required to avoid stripping AM/PM for /f "delims=" %%i in ('"forfiles /m filename /c "cmd /c echo @ftime" "') do set modif_time=%%i echo %modif_time% 

Beispielausgabe

7:33:54 AM 

Der angezeigte Wert basiert auf der lokalen Uhrzeit des Computers und stimmt mit der im Dialogfeld mit den Dateieigenschaften angezeigten Uhrzeit überein.

Hilfe zur Verwendung

http://technet.microsoft.com/de-de/library/cc753551.aspx


Windows XP

forfiles.exeist nicht standardmäßig verfügbar, Sie können jedoch die erforderliche ausführbare Datei manuell abrufen . Es ist eine alte Version, die Teil des Windows 2000 Resource Kit ist. Die Syntax unterscheidet zwischen Groß- und Kleinschreibung und unterscheidet sich geringfügig von der Ausgabe:

for /f %%i in ('"forfiles.exe -mfilename -c"cmd /c echo @FTIME" "') do set modif_time=%%i echo %modif_time% 

Beispielausgabe

153354 

Hier wird der Zeitwert im UTC-Format angezeigt und wird nicht durch Änderungen der Zeitzone oder der Sommerzeit beeinflusst. In diesem Beispiel wurde die Datei zuletzt um 15:33:54 Uhr (UTC) geändert.

Hinweis Sie können die neuere forfiles.exeVersion abrufen, indem Sie eine Kopie der Datei von einem beliebigen Windows 2003 Server-Installations- oder Installationsmedium erwerben .

0
JdeBP

Verwenden Sie einen Befehlsinterpreter, der dazu in der Lage ist.

So geht's mit TCC / LE von JP Software, wobei einige Variationen des Themas für ein gutes Maß vorgesehen sind:

[C:\Users\JdeBP]touch /c myfile 10/01/2014 18:31:32.710 C:\Users\JdeBP\myfile  [C:\Users\JdeBP]echo myfile was created at %@filetime[myfile,c,s] myfile was created at 18:31:32  [C:\Users\JdeBP]echo myfile was last accessed at %@filetime[myfile,a,s] myfile was last accessed at 18:31:32  [C:\Users\JdeBP]for i in (myfile) do set modif_time=%@filetime[%i,w,s]  [C:\Users\JdeBP]echo myfile was last modified at %modif_time% myfile was last modified at 18:31:32 

Lesen Sie weiter

  • JP Software. @FILETIME . Nehmen Sie die Command / TCC-Hilfe.
  • JP Software. TOUCH . Nehmen Sie die Command / TCC-Hilfe.