batch - время последнего изменения файла с секундами

Я хочу знать, когда файл был изменен в последний раз.

Я могу получить эту информацию, используя следующий пакетный скрипт:

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

Проблема в том, как получить вторую из последней модификации? и команда %~t возвращает дату и время только с часами и минутами.

Я могу проверить секунды только вручную, просматривая файл "Окно свойств" файл за файлом.

Как я могу получить время с секундами в партии?

1 ответ

Решение

Используя фрагмент Powershell, вы можете преодолеть ограничение консоли:

FOR /f "usebackq tokens=2,3 skip=3" %%i IN (`powershell.exe "& {get-childitem .\foo -force | Select-Object FullName,LastWriteTime}"`) do set modif_time=%%i %%j

Также взгляните на этот фрагмент wmic.exe:

wmic datafile where name='c:\\temp\\myfile' get LastModified

Вывод выглядит так:

LastModified
20150807125810.203014-420

Который также может подойти для вас.

Другие вопросы по тегам