batch - arquiva o tempo da última modificação com segundos

3

Eu quero saber quando um arquivo foi modificado pela última vez.

Eu posso obter essas informações usando o seguinte script em lote:

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

O problema é como obter o segundo da última modificação? e o comando %~t retorna a data e a hora com apenas horas e minutos.

Só posso verificar os segundos visualizando manualmente o arquivo "janela de propriedades" por arquivo.

Como posso obter tempo com segundos em lote?

    
por user3133076 10.01.2014 / 13:03

1 resposta

1

Usando um snippet do Powershell, você pode superar a limitação do console:

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

Além disso, dê uma olhada neste snippet wmic.exe:

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

A saída é semelhante a:

LastModified
20150807125810.203014-420

O que também pode ser adequado para você.

    
por 07.08.2015 / 23:42