Adicione um arquivo específico para cada arquivo zip recursivamente com 7-Zip
Use um loop Para / F e o Dir comando usando as opções /S /B /A-D
para iterar cada arquivo zip um por um recursivamente a partir do diretório inicial para baixo e atualizar cada arquivo desta forma.
Observação: Com esse método, você omitirá e não usará o 7-Zip -r
alterna com o parâmetro de atualização.
Linha de Comando
FOR /F "TOKENS=*" %A in ('DIR /S /B /A-D "C:\Users\xxx\Desktop\testzip\*.zip"') DO 7z u "%~fA" "C:\Users\xxx\Desktop\testzip\background.png"
Script em lote
Nota: Você pode definir o valor da variável SET Src=
como sendo a pasta inicial do caminho completo que você deseja atualizar os arquivos zip dentro recursivamente. Você pode definir o valor da variável SET uFile=
como o caminho completo do arquivo com o qual você está atualizando os arquivos zip; o arquivo de atualização.
@ECHO ON
SET Src=C:\Users\xxx\Desktop\testzip
SET uFile=C:\Users\xxx\Desktop\testzip\background.png
FOR /F "TOKENS=*" %%A in ('DIR /S /B /A-D "%Src%\*.zip"') DO (
7z u "%%~fA" "%uFile%"
)
Mais recursos
- Para / F
-
FOR /?
tokens=x,y,m-n - specifies which tokens from each line are to be passed to the for body for each iteration. This will cause additional variable names to be allocated. The m-n form is a range, specifying the mth through the nth tokens. If the last character in the tokens= string is an asterisk, then an additional variable is allocated and receives the remaining text on the line after the last token parsed.
In addition, substitution of FOR variable references has been enhanced. You can now use the following optional syntax:
%~fI - expands %I to a fully qualified path name
- -u (Opções de atualização) alternar