Windows Vista / 7 e posterior
Windows Server 2003 e posterior
Com um pouco de esforço, você pode usar forfiles
para obter o horário da última modificação de um arquivo específico, segundos incluídos:
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%
Exemplo de saída
7:33:54 AM
O valor exibido é baseado na hora local do computador e corresponde à hora mostrada na caixa de diálogo de propriedades do arquivo.
Ajuda de uso
Windows XP
forfiles.exe
não está disponível imediatamente, mas você pode obter manualmente o executável necessário . É uma versão antiga que faz parte do Windows 2000 Resource Kit. A sintaxe diferencia maiúsculas de minúsculas e é ligeiramente diferente, assim como a saída:
for /f %%i in ('"forfiles.exe -mfilename -c"cmd /c echo @FTIME" "') do set modif_time=%%i
echo %modif_time%
Exemplo de saída
153354
Aqui, o valor do tempo é exibido no formato UTC e não é afetado por alterações no fuso horário ou no horário de verão. Neste exemplo, o arquivo foi modificado pela última vez às 15:33:54 (UTC).
Observação Você pode obter a versão mais recente do forfiles.exe
pegando uma cópia do arquivo de qualquer mídia de instalação ou configuração do Windows 2003 Server.