Sie können den -i
Switch dazu mit 7-Zip verwenden. Bei der folgenden Änderung Ihrer Stapeldatei werden beispielsweise nur .txt
Dateien extrahiert .
@ECHO ON SET source=C:\Users\user\Desktop\test FOR /F "TOKENS=*" %%F IN ('DIR /S /B "%source%\*.zip"') DO "C:\Program Files\7-Zip\7z.exe" x "%%~fF" -o"C:\Users\user\Desktop\Working\Custom Textures\*" -ir!*.txt FOR /F "TOKENS=*" %%F IN ('DIR /S /B "%source%\*.7z"') DO "C:\Program Files\7-Zip\7z.exe" x "%%~fF" -o"C:\Users\user\Desktop\Working\Custom Textures\*" -ir!*.txt FOR /F "TOKENS=*" %%F IN ('DIR /S /B "%source%\*.rar"') DO "C:\Program Files\7-Zip\7z.exe" x "%%~fF" -o"C:\Users\user\Desktop\Working\Custom Textures\*" -ir!*.txt PAUSE
Hier einige weitere Informationen aus der Dokumentation :
-i (Include Dateinamen) umschalten
Gibt zusätzliche Include-Dateinamen und Platzhalterzeichen an.
Es werden mehrere Include-Schalter unterstützt.
Syntax
-i[<recurse_type>]<file_ref> <recurse_type> ::= r[- | 0] <file_ref> ::= @ | !
Parameter
<recurse_type>
Gibt an, wie Platzhalter und Dateinamen in dieser Option verwendet werden müssen. Wenn diese Option nicht angegeben ist, wird der globale Wert verwendet, der vom Schalter -r (Recurse) zugewiesen wird. Weitere Einzelheiten finden Sie unter Angabe des Schalters -r (Recurse).
<recurse_type> ::= r[- | 0]
<file_ref>
Gibt Dateinamen und Platzhalterzeichen oder eine Listendatei für zu verarbeitende Dateien an.
<file_ref> ::= @ | ! Option Description Specifies name of list file. See List file description. Specifies wildcard or filename.
Beispiele
7z a -tzip src.zip *.txt -ir!DIR1\*.cpp
fügt src.zip hinzu, um alle * .txt-Dateien aus dem aktuellen Verzeichnis und alle * .cpp-Dateien aus dem Verzeichnis DIR1 und allen seinen Unterverzeichnissen zu archivieren.