通配符使用更新具有相似标题的 7zip Sfx

Wildcard use updating 7zip Sfx with similar titles

我有 4 个不同的 Sfx 7Zip 文件,我需要根据情况下载和更新其中的 1 个文件。

zip 的文件名根据内容和功能的不同略有不同,但标题中都带有 AUTO 字样。

我使用此命令更新每个文件都没有问题,但我希望简化更新代码。每个安装程序我有一行来更新某个文件,但我只想要一行来更新下载的文件的任何版本。

"%~dp0Configza.exe" u "%~dp0Installer1Auto.exe" "%~dp0Config\config.cfg"
"%~dp0Configza.exe" u "%~dp0Installer2Auto.exe" "%~dp0Config\config.cfg"
"%~dp0Configza.exe" u "%~dp0Installer3Auto.exe" "%~dp0Config\config.cfg"
"%~dp0Configza.exe" u "%~dp0Installer4Auto.exe" "%~dp0Config\config.cfg"

无论我下载的是什么版本的 sfx,我如何使用通配符(或类似的)只有一行代码。

我在想类似下面的事情(但行不通)...

"%~dp0Configza.exe" u "%~dp0*Auto*.exe" "%~dp0Config\config.cfg"

"or"

"%~dp0Configza.exe" u "%~dp0*Installer.exe" "%~dp0Config\config.cfg"

任何提示都将是极好的,提前致谢。

for /L %%q in (1,1,4) do "%~dp0Configza.exe" u "%~dp0Installer%%qAuto.exe" "%~dp0Config\config.cfg"

for %%q in (1 2 3 4) do "%~dp0Configza.exe" u "%~dp0Installer%%qAuto.exe" "%~dp0Config\config.cfg"

首先开始将%%q设置为1,然后将%%q增加1,直到达到4。

第二个将 %%q 依次设置为值 1..4。

第二种方法的优点是,如果你想处理名称变体为Wibble, wobble, wubble, and flob的文件,那么只需将代码更改为

即可
for %%q in (Wibble wobble wubble flob)...

此外,如有必要,可以控制命令,例如:

for /L %%q in (1,1,4) do if exist "%~dp0Configza.exe" "%~dp0Configza.exe" u "%~dp0Installer%%qAuto.exe" "%~dp0Config\config.cfg"

如果只有 1 存在,这将避免执行 234


要对目录 %~dp0 中找到的所有 *.exe 文件执行,请使用

FOR %%a IN ("%~dp0\*.exe") DO ECHO("%~dp0Configza.exe" u "%%~fa" "%~dp0Config\config.cfg"

如果需要,*.exe 可以是 installer*auto.exe