7zip: Bagaimana cara mengecualikan file (bukan tipe file) menggunakan file daftar pengecualian?


11

Saya tahu Anda dapat membuat file teks yang berisi daftar file dan kemudian memberitahu 7zip untuk referensi file ini sehingga dapat mengecualikan mereka dari arsip, tetapi saya tidak dapat menemukan sintaks untuk itu. Adakah yang bisa membantu?

Jawaban:


9

Setelah beberapa jam mencari, saya akhirnya menemukan jawabannya. Berikut sintaks sakelar:

7z a -xr@exclude.txt backup.7z c:\whatever\*

Perhatikan -xrbukan -x. Ini rmenunjukkan rekursif sehingga dapat mencocokkan file yang dikecualikan dalam hierarki folder yang dalam. Juga, format file teks bisa setidaknya ANSI atau UTF-8.

Adapun file yang berisi file, seperti yang dikatakan OldWolf, itu adalah daftar yang dipisahkan oleh carriage return seperti ini:

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

Bekerja seperti pesona.


1
Terima kasih! Saya mencoba untuk mengecualikan dengan opsi wildcard dan ternyata saya kehilangan ropsi. Ini adalah cara yang benar untuk mengecualikan file PNG secara rekursif dalam bash (tanda kutip tunggal untuk menghentikan bash meluas !dan *): -xr'!*.png' (edit: tanda kutip tunggal alih-alih melarikan diri)
thomasa88

4

Saya pikir Anda ingin beralih -x dengan @

7z a -t7z my.zip * -x@myexclusion.lst

Dalam retrospeksi, saya menyadari Anda mungkin berarti Anda menginginkan sintaks untuk listfile. Ini harus menjadi daftar yang dipisahkan baris baru. Anda mungkin mengalami masalah penyandian. 7z mengharapkannya dalam format UTF-8, Anda dapat menimpanya dengan saklar -scs atau Anda dapat memberi tahu notepad untuk menyimpan file dalam format UTF-8


2
Terima kasih atas pengingat tentang penyandian file. Saya telah bingung selama berjam-jam mengapa daftar pengecualian saya tidak dipatuhi. Saya menghasilkan file dalam skrip PowerShell menggunakan Out-File yang default ke Unicode. Mengubahnya menjadi keluaran UTF8 dan tiba-tiba semuanya berfungsi.
WileCau

0

Jika daftar Anda benar-benar singkat, Anda dapat memiliki lebih dari satu -x flag:

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

BTW saat menguji saya harus terus menghapus file .zip. Ketika saya lupa itu, misalnya targetver.h masih di ZIP dari jalankan terakhir.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.