Comando interno rápido para obter a data da última modificação de um arquivo no Windows?

1

Estou tentando obter a data da última modificação de vários arquivos no Windows. Nos sistemas GNU, posso usar apenas algo como stat -c %Y .

Eu sei sobre o comando wmic , mas o problema é que ele é muito lento. No meu sistema, executar o comando wmic datafile where Name="..." get LastModified /value é cerca de 4 a 7 vezes mais lento do que usar uma porta do stat GNU em um shell MSYS2.

Para os meus objetivos, preciso de uma alternativa mais rápida e incorporada ao próprio Windows ou às ferramentas de desenvolvimento do Visual Studio. Eu realmente não me importo com o formato de saída porque eu mesmo posso analisá-lo manualmente.

Alguém sabe se algo assim existe?

    
por AlexRamallo 16.12.2017 / 23:13

1 resposta

3

O DIR da linha de comando do Windows deve executar o trabalho, se você puder analisar o resultado por campo. Canalize a saída para um arquivo conforme necessário.

Por exemplo, dir / o: d / t: w ordena arquivos por data [/ o: d] usando o último campo gravado ou modificado) [/ t: w] e produz o seguinte:

Directory of C:\Intel\Logs

07/06/2016 10:28 PM ..

07/06/2016 10:28 PM 0 IntelCPHS.log

05/13/2017 10:01 PM 767,814 IntelGFX.log

10/17/2017 10:54 PM 51,608 IntelGFXCoin.log

Se você precisar de tempo para o segundo , tente:

forfiles /c "cmd /c echo @file @ftime"

Digite dir /? para ver as opções para visualizar arquivos de determinados atributos, formato de saída, etc.

    
por 17.12.2017 / 07:00