Ich muss die Datei „background.png“ in Hunderte von ZIP-Dateien im selben Verzeichnis aktualisieren. Ich habe den folgenden Befehl ohne Erfolg ausprobiert:
7z u -r "C:\Users\xxx\Desktop\testzip\*.zip" "C:\Users\xxx\Desktop\testzip\background.png"
Ich erhalte die Fehlermeldung „Datei kann nicht geöffnet werden“. Kann ich das ändern?
Antwort1
Mit 7-Zip rekursiv eine bestimmte Datei zu jeder Zip-Datei hinzufügen
Benutze einenFür /FSchleife und die DirBefehl, bei dem die /S /B /A-D
Schalter verwendet werden, um jede ZIP-Datei rekursiv nacheinander vom Startverzeichnis abwärts zu durchlaufen und auf diese Weise jede Archivdatei zu aktualisieren.
Notiz: Mit dieser Methode werden Sie die7-Zip -r
Schalter mit dem Update-Parameter.
Befehlszeile
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"
Batch-Skript
Notiz: Sie können den Wert der SET Src=
Variablen auf den vollständigen Pfad des Startordners setzen, in dem Sie die ZIP-Dateien rekursiv aktualisieren möchten. Sie können den SET uFile=
Variablenwert auf den vollständigen Pfad der Datei setzen, mit der Sie die ZIP-Dateien aktualisieren; die Aktualisierungsdatei.
@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%"
)
Weitere Ressourcen
- Für /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.
Darüber hinaus wurde die Ersetzung von FOR-Variablenreferenzen verbessert. Sie können jetzt die folgende optionale Syntax verwenden:
%~fI - expands %I to a fully qualified path name
- Schalter -u (Aktualisierungsoptionen)