Пакет: Определите файл с наибольшим номером версии

#windows #batch-file

Вопрос:

У меня есть каталог со многими файлами, и я хочу определить, какая из них является самой новой версией каждого документа. Позже я хочу, например, переместить эти отфильтрованные файлы в новый каталог.

Содержимое каталога:

 Great Document.xxx  Great Document (Version 1).xxx  Another Great Document.xxx  Another Great Document (Version 1).xxx  Another Great Document (Version 2.2).xxx  

Название документа отличается, как и его версия. = Каждый документ существует в разных версиях.

В настоящее время я поместил все элементы каждого имени файла в массив !revfiles! для последующего чтения в пакете:

 !revfilename[%%i]! !revfilenameclean[%%i]! !revfilenameversion[%%i]! !revextension[%%i]!  
  • полное имя файла
  • имя файла без ‘(Версия XX)’
  • версия (только цифры с одним десятичным знаком)
  • расширение файла

Вывод одной записи массива выглядит следующим образом:

 Another Great Document (Version 2.2).xxx Another Great Document 2.2 .xxx  

Я предполагаю, что это облегчает определение новейшей версии, но я не могу найти способ сделать это. Мы высоко ценим любую поддержку.

Комментарии:

1. Легко вы должны использовать сортировщик меток времени: dir /b /O-D *.xxx