Источник: extract.bat
:
@echo off
::: extract.bat - Extract all database-*.zip files in the given folder
::: usage: extract.bat [folder]
::: folder - Search for files here (defaults to current folder)
set search=database-*.zip /b
if "%~1" neq "" set search=%1\%search%
for /f "tokens=*" %%f in ('dir %search%') do (
7z x %%f %%~nf
ant -f %%~nf\db.xml
)
Если вам действительно нужно исключить архивы базы данных, которые не соответствуют формату папки версии (например, если есть файл с именем database-old.zip
, и его не следует извлекать), то вам нужно найти сопоставление регулярных выражений для команды строка в винде - что возможно. То есть, или если вы сохраняете номера версий до одной цифры, вы можете использовать ?
односимвольное совпадение.
Вы также можете добавить некоторую проверку (перед строкой 7z...
), чтобы убедиться, что его папка еще не существует, и что-то сделать, если она есть.