batch - File last modification time with seconds

user3133076 picture user3133076 · Jan 10, 2014 · Viewed 16.9k times · Source

I want to know when a file has been modified for the last time.

I can get these infos using the following batch script:

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

The problem is that I need the second of the last modification and the command %~t returns the date and the time with only hours and minutes.

I can only check the seconds by manually viewing the "property window" file by file.

How can I get the time with seconds in batch?

Answer

Ebbe M. Pedersen picture Ebbe M. Pedersen · Jan 10, 2014

In Windows 7 and forward (or via Resource Kit for XP) you can use forfiles for this. Something like:

forfiles /m *.* /c "cmd /c ECHO The last modified date of: @file is: @ftime"

In a directory with the following files:

myTest.txt
myTest2.txt

I get:

The last modified date of: "myTest.txt" is: 13:21:07
The last modified date of: "myTest2.txt" is: 13:21:20