Получить "последнюю" версию из каталога каталогов
Интересный вопрос, так как это пакет Windows! dir твой друг здесь; заимствуя ответ PabloG на SO:
@ECHO OFF
FOR /F %%I IN ('DIR *.* /B /O:G-N') DO ECHO %%I & EXIT /B
Поместите в RootFolder именем lastversion.bat (или что-то еще). Вы можете проверить, вызвав из cmd.exe 1.
Пожалуйста, обратите внимание, что я проверил это только с очень очень ограниченным количеством "версий" каталогов с именами каталогов.
объяснение
FOR /F %%I IN - цикл (FOR) для следующего набора файлов (/F), используя переменную I (%%I) 2
'DIR *.* /B /O:G-N' - Вывести список всех файлов (*.*) В каталоге, в чистом формате (/B), сортировка (/O: :) в обратном алфавитном порядке 3 (-N) каталог-первый (G) 4
DO ECHO %%I & EXIT /B - распечатать первое имя файла и немедленно прекратить (EXIT) только пакетный файл (/B)
Дополнительные сноски
1 @ECHO OFF подавляет эхо-команды, но вы, наверное, уже это знали
2 %%I - использовать два знака процента внутри пакетного файла или, если из интерактивного приглашения, просто %I
«3» в алфавитном порядке означает, что мы не заботимся о том, какая версия была написана до конца, и просто берем самый большой номер версии; это может быть нежелательно
Сначала нужно создать 4 групповых каталога, чтобы простые файлы сортировались до конца и игнорировались