1

Я пытаюсь получить дату последнего изменения группы файлов в Windows. В системах GNU я могу просто использовать что-то вроде stat -c %Y

Я знаю о команде wmic , но проблема в том, что она очень медленная. В моей системе выполнение команды wmic datafile where Name="..." get LastModified /value , примерно в 4-7 раз медленнее, чем при использовании порта GNU stat в оболочке MSYS2.

Для моих целей мне нужна альтернатива, более быстрая и встроенная либо в саму Windows, либо в средства разработки Visual Studio. Меня не волнует формат вывода, потому что я могу сам разобрать его вручную.

Кто-нибудь знает, существует ли что-то подобное?

1 ответ1

3

Окно командной строки DIR должно выполнить эту работу, если вы можете проанализировать вывод по полю. Передайте вывод в файл по мере необходимости.

Например, dir /o:d /t:w упорядочивает файлы по дате [/o:d], используя последнее записанное, т.е. измененное) поле [/t:w] и производит следующее:

Каталог C:\Intel\Logs

06.07.2016, 22:28 ..

06.07.2016, 22:28 0 IntelCPHS.log

13.05.2017 22:01 767 814 IntelGFX.log

17.10.2017 22:54 51 608 IntelGFXCoin.log

Если вам нужно время для второго, попробуйте:

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

Введите dir /? чтобы увидеть варианты просмотра файлов определенных атрибутов, выходного формата и т. д.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .