Рассмотрим структуру каталогов, содержащую следующие файлы:
\1.3\Baseline\GeneratedScripts\One\FullInstall.cmd
\1.3\Baseline\GeneratedScripts\Two\FullInstall.cmd
\1.3\Baseline\GeneratedScripts\Three\FullInstall.cmd
\1.3\Patches\Patch1\GeneratedScripts\One\FullInstall.cmd
\1.3\Patches\Patch1\GeneratedScripts\Two\FullInstall.cmd
\1.3\Patches\Patch1\GeneratedScripts\Three\FullInstall.cmd
\1.3\Patches\Patch2\GeneratedScripts\One\FullInstall.cmd
\1.3\Patches\Patch2\GeneratedScripts\Two\FullInstall.cmd
\1.3\Patches\Patch2\GeneratedScripts\Three\FullInstall.cmd
\1.3\Patches\Patch3\GeneratedScripts\One\FullInstall.cmd
\1.3\Patches\Patch3\GeneratedScripts\Two\FullInstall.cmd
\1.3\Patches\Patch3\GeneratedScripts\Three\FullInstall.cmd
Я хотел бы создать пакетный файл Windows InstallEnvironment.cmd
, который:
- Принимает имя среды в качестве параметра; то
- Выполняет сценарий базовой установки и каждый из сценариев исправления по очереди.
Пакетный файл должен автоматически выполнять любые дополнительные исправления, добавленные позже.
По сути, мне нужно сделать что-то вроде этого:
for %%_ in (1.3\**\GeneratedScripts\%%1\FullInstall.cmd) do cal %%_
Однако я не уверен, что система подстановочных знаков достаточно богата, чтобы позволить это, поскольку я не получаю совпадений с подстановочными знаками **
.
Например, , при вызове с параметром "Two" должны выполняться следующие сценарии в следующем порядке:
\1.3\Baseline\GeneratedScripts\Two\FullInstall.cmd
\1.3\Patches\Patch1\GeneratedScripts\Two\FullInstall.cmd
\1.3\Patches\Patch2\GeneratedScripts\Two\FullInstall.cmd
\1.3\Patches\Patch3\GeneratedScripts\Two\FullInstall.cmd