Avez-vous une idée de la façon d’exclure un ou plusieurs chemins contenant des caractères génériques d’une commande 7zip en ligne de commande?
Je fais quelque chose comme ça:
7z.exe a -t7z archive.7z FolderToArchive\ -mx0
et voudrait exclure tout \bin\*.*
ou les \obj\*.*
dossiers trouvés sous "FolderToArchive".
Pour exclure des fichiers, vous pouvez utiliser le -x
paramètre. Le fichier d'aide donne cet exemple d'utilisation -x
:
7z a -tzip archive.zip *.txt -x!temp.*
C'est excellent pour exclure un fichier. Mais, encore une fois, je voudrais exclure un dossier spécifié par un caractère générique. Sous ma « FolderToArchive » il y a plusieurs dossiers, dans ces dossiers , il peut ou ne peut pas être bin\
et obj\
dossiers. Je voudrais ne pas les inclure dans les archives.
J'ai essayé des modèles comme
-x!bin\*
-x!bin\*.*
-x!\bin\*
-x!\bin\*.*
-x!\\bin\\*
-x!\\bin\\*.*
Aucun ne semble exclure le bin\
dossier. Est-ce simplement une limitation de 7zip?
la source
-xr0!*.zip
- au moins, je ne pourrais pas le faire fonctionner sans le fichierr0
.'-x!$RECYCLE.BIN'
pour exclure la corbeille d’un lecteur externe.Pour éviter les bogues, utilisez -r ou -xr avec précaution.
supposons que vous ayez des répertoires comme:
et lancez la commande:
ce que vous avez dans archive.7z:
Autrement dit, le
.\path2\
et.\path5\
est devenu le dossier principal de archive.7z, et les deuxbin
répertoires ont été exclus.-x supporte uniquement le chemin / nom de fichier relatif au dossier principal de l'archive.
Donc, si vous voulez seulement exclure
.\path1\path2\bin
, mais inclure tous les autres répertoires 'bin', la commande devrait être comme ceci:J'ai essayé d'utiliser le chemin absolu dans -x, mais je n'y suis jamais parvenu.
Mise à jour:
Il existe une option
-spf
dans 7z pour Linux qui fonctionne avec un chemin absolu.Selon Marco ,
-spf
est également disponible sur Windows à partir de 7-zip 15.14la source
'-x!path2\bin'
pour ne pas utiliser de substitution de shell ... (vous obtenez une "commande" beaucoup plus longue et syntaxiquement incorrecte ...)'-xr!\.foo'