Windows Batch Scripting: новейший файл, соответствующий шаблону

Это было бы молнией, быстрой в Linux, но я не достаточно знаком с ароматом окон пакетных сценариев.

В основном я хочу искать серию файлов, соответствующих определенному подстановочному знаку и получить тот с новой измененной датой.

Я добрался до:

for %%X in (*.exe) do (
REM Do stuff....
)

Но я не уверен что способ операторов сравнения существует, или если существует лучший способ сделать это.

Кто-либо предлагает какие-либо хорошие решения? Идеально это включило бы ванильную установку Vista; так никакой специальный обман как cygwin/etc.

7
задан 03.11.2014, 11:19

2 ответа

А-ч, найденный им:

for /f %%x in ('dir *.exe /B /O:-D') do set NEWEST_EXE & goto DONE

:DONE
5
ответ дан 07.12.2019, 14:57

Существует почти наверняка более нормальный способ сделать это в PowerShell.
Но если это должен быть cmd.exe:

FOR /f %f IN ('DIR /b /od *.exe') DO @SET last=%f

ECHO %last%

DIR /b списки просто имя файла, как ls -1 сделал бы; /od конечно, хронологический порядок.
Таким образом, последнее повторение определяет имя последнего файла в списке.

3
ответ дан 07.12.2019, 14:57

Теги

Похожие вопросы