¿Cómo excluir una carpeta en 7zip?

8

Quiero comprimir la carpeta C:\Temppero sin una subcarpeta específica (por ejemplo C:\Temp\test). ¿Cómo puedo hacer eso con 7zip?

Se me ocurrió el siguiente comando:

c:\Temp>7zip a -t7z test.7z c:\temp\ -mx0 -x!c:\temp\test\*

pero no funciona porque la salida es:

7-Zip (A) 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18

Scanning

Updating archive test.7z


Compressing  Temp\admin.PNG
Compressing  Temp\test\admin2.PNG   <<<<<< this file should not be added to the archive
Compressing  Temp\first.txt
Martin Vseticka
fuente
Quizás lo que falta es la -rbandera (recursiva). El valor predeterminado es no recurrir subdirectorios.
Doktoro Reichard
El cambio -rno ayudó.
Martin Vseticka

Respuestas:

6

Según lo probado en mi sistema:

7zip a -t7z -mx0 -x!test\* test.7z c:\temp\ 

Si está en el directorio de origen, los archivos se almacenan con rutas relativas, por lo que la carpeta de prueba se ve así test\file1.txt, no c:\temp\test\file1.txt.

Tenga en cuenta que con el modificador -mx0, no está comprimiendo los archivos, solo los está copiando a tamaño completo en el archivo.

Scott McKinney
fuente
1
Gracias. Lo hice funcionar con el comando 7zip a -t7z test.7z c:\temp\ -mx0 -x!Temp\test\*. Tenga en cuenta la parte Temp\test\*que difiere de su comando. No sé por qué tu comando no funciona para mí.
Martin Vseticka
Solía -mx0cambiar a propósito. Solo necesitaba hacer una copia de seguridad en mi servidor y quería un impacto mínimo en la CPU de mi servidor.
Martin Vseticka
Actualicé esta respuesta, mi experiencia personal fue que necesitaba especificar más del camino relativo para que esto también
funcione