Получить "последнюю" версию из каталога каталогов
Интересный вопрос, так как это пакет 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 групповых каталога, чтобы простые файлы сортировались до конца и игнорировались