Windows Vista / 7 и более поздние
Windows Server 2003 и более поздние версии
С небольшими усилиями вы можете использовать forfiles
чтобы получить время последнего изменения определенного файла, включая секунды:
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%
Пример вывода
7:33:54 AM
Отображаемое значение зависит от локального времени компьютера и соответствует времени, указанному в диалоговом окне свойств файла.
Помощь в использовании
http://technet.microsoft.com/en-us/library/cc753551.aspx
Windows XP
forfiles.exe
недоступен "из коробки", однако вы можете вручную получить требуемый исполняемый файл. Это старая версия, которая является частью Windows 2000 Resource Kit. Синтаксис чувствителен к регистру и немного отличается, как и вывод:
for /f %%i in ('"forfiles.exe -mfilename -c"cmd /c echo @FTIME" "') do set modif_time=%%i
echo %modif_time%
Пример вывода
153354
Здесь значение времени отображается в формате UTC и не зависит от изменения часового пояса или перехода на летнее время. В этом примере файл был последний раз изменен в 15:33:54 (UTC).
Примечание. Более новую версию forfiles.exe
можно получить, скопировав копию файла с любого установочного или установочного носителя Windows 2003 Server.