So che puoi creare un file di testo contenente un elenco di file e quindi dire a 7zip di fare riferimento a questo file in modo che possa escluderli dall'archivio, ma non riesco a trovare la sintassi per quello. Qualcuno può aiutare?
So che puoi creare un file di testo contenente un elenco di file e quindi dire a 7zip di fare riferimento a questo file in modo che possa escluderli dall'archivio, ma non riesco a trovare la sintassi per quello. Qualcuno può aiutare?
Risposte:
Dopo alcune ore di ricerche, ho finalmente capito. Ecco la sintassi dello switch:
7z a -xr@exclude.txt backup.7z c:\whatever\*
Si noti -xr
invece di -x
. Il r
indica ricorsiva modo che possa corrispondere file esclusi in gerarchie di cartelle profonde. Inoltre, il formato del file di testo può essere almeno ANSI o UTF-8.
Per quanto riguarda il file contenente i file, come ha detto OldWolf, è un elenco separato da ritorni a capo come questo:
Telerik.Reporting.dll
Telerik.Reporting.Service.dll
Telerik.ReportViewer.WebForms.dll
Telerik.Web.Design.dll
Telerik.Web.UI.dll
*.txt
Funziona come un fascino.
Penso che tu voglia l'opzione -x con @
7z a -t7z my.zip * -x@myexclusion.lst
Con il senno di poi, ho capito che potresti aver significato che volevi la sintassi per il file di elenco. Dovrebbe essere un elenco separato da una nuova riga. Potresti riscontrare un problema di codifica. 7z si aspetta che sia in formato UTF-8, puoi sovrascriverlo con l'opzione -scs o puoi dire al blocco note di salvare il file in formato UTF-8
Se il tuo elenco sarà davvero breve, puoi avere più di un flag -x:
7z a -r CppSourceJBR.zip * .cpp .h -x! Stdafx. -x! targetver.h
A proposito, durante il test ho dovuto continuare a cancellare il file .zip. Quando l'ho dimenticato, ad esempio targetver.h era ancora nel ZIP dall'ultima esecuzione.
r
opzione. Questo è il modo corretto di escludere i file PNG in modo ricorsivo in bash (virgolette singole per fermare l'espansione di bash!
e*
):-xr'!*.png'
(modifica: virgolette singole invece di escape)