7zip: ¿Cómo excluir archivos (no tipos de archivos) usando un archivo de lista de exclusión?

11

Sé que puede crear un archivo de texto que contenga una lista de archivos y luego decirle a 7zip que haga referencia a este archivo para que pueda excluirlos del archivo, pero no puedo encontrar la sintaxis para eso. Alguien puede ayudar?

oscilantecretina
fuente

Respuestas:

9

Después de algunas horas de búsqueda, finalmente lo descubrí. Aquí está la sintaxis del interruptor:

7z a [email protected] backup.7z c:\whatever\*

Aviso en -xrlugar de -x. El rindica recursiva para que pueda coincidir con los archivos excluidos en las jerarquías de carpetas de profundidad. Además, el formato del archivo de texto puede ser al menos ANSI o UTF-8.

En cuanto al archivo que contiene los archivos, como dijo OldWolf, es una lista separada por retornos de carro como este:

Telerik.Reporting.dll
Telerik.Reporting.Service.dll
Telerik.ReportViewer.WebForms.dll
Telerik.Web.Design.dll
Telerik.Web.UI.dll
*.txt

Funciona de maravilla.

oscilantecretina
fuente
1
¡Gracias! Estaba tratando de excluir con la opción comodín y resultó que me faltaba la ropción. Esta es la forma correcta de excluir archivos PNG de forma recursiva en bash (comillas simples para evitar que bash se expanda !y *): -xr'!*.png' (editar: comillas simples en lugar de escape)
thomasa88
4

Creo que quieres el modificador -x con @

7z a -t7z my.zip * [email protected]

En retrospectiva, me di cuenta de que puede haber querido decir que quería la sintaxis para el archivo de lista. Debería ser una lista separada por una nueva línea. Es posible que se encuentre con un problema de codificación. 7z espera que esté en formato UTF-8, puede anularlo con el modificador -scs o puede indicarle al bloc de notas que guarde el archivo en formato UTF-8

OldWolf
fuente
2
Gracias por el recordatorio sobre la codificación de archivos. He estado desconcertando durante horas sobre por qué mi lista de exclusión no fue obedecida. Produzco el archivo en un script de PowerShell usando Out-File que por defecto es Unicode. Cambiándolo a la salida UTF8 y de repente todo simplemente funciona.
WileCau
0

Si su lista va a ser realmente corta, puede tener más de un indicador -x:

7z a -r CppSourceJBR.zip * .cpp .h -x! Stdafx. -x! targetver.h

Por cierto, durante la prueba tuve que seguir eliminando el archivo .zip. Cuando lo olvidé, por ejemplo, targetver.h todavía estaba en el ZIP de la última ejecución.

jbr
fuente