7zip : 제외 목록 파일을 사용하여 파일 형식이 아닌 파일을 제외하는 방법은 무엇입니까?


11

파일 목록이 포함 된 텍스트 파일을 만든 다음 7zip 에게이 파일을 참조하도록 지시하여 아카이브에서 제외 할 수는 있지만 구문을 찾을 수 없다는 것을 알고 있습니다. 누군가 도울 수 있습니까?

답변:


9

몇 시간의 검색 끝에 마침내 알아 냈습니다. 스위치 구문은 다음과 같습니다.

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

-xr대신에 유의하십시오 -x. 는 r이 깊은 폴더 계층 구조에서 제외 된 파일을 일치시킬 수 있도록 순환을 나타냅니다. 또한 텍스트 파일의 형식은 ANSI 또는 UTF-8 이상일 수 있습니다.

OldWolf가 말했듯이 파일을 포함하는 파일은 다음과 같이 캐리지 리턴으로 구분 된 목록입니다.

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

매력처럼 작동합니다.


1
감사! 와일드 카드 옵션으로 제외하려고 시도했지만 옵션이 누락되었습니다 r. 이것은 bash에서 PNG 파일을 재귀 적으로 제외시키는 올바른 방법입니다 (bash는 확장을 막기 위해 작은 따옴표 !*) : -xr'!*.png' (편집 : 이스케이프 대신 작은 따옴표)
thomasa88

4

@로 -x 스위치를 원한다고 생각합니다.

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

돌이켜 보면 목록 파일의 구문을 원한다는 의미 일 수 있습니다. 개행으로 구분 된 목록이어야합니다. 인코딩 문제가 발생했을 수 있습니다. 7z는 UTF-8 형식 일 것으로 예상합니다. -scs 스위치로이를 재정의하거나 메모장에 파일을 UTF-8 형식으로 저장하도록 지시 할 수 있습니다


2
파일 인코딩에 대한 알림을 보내 주셔서 감사합니다. 제외 목록이 준수되지 않은 이유에 대해 몇 시간 동안 수수께끼를 쏟았습니다. Out-File을 사용하여 기본적으로 유니 코드로 PowerShell 스크립트에서 파일을 생성합니다. UTF8을 출력하도록 변경하면 갑자기 모든 것이 작동합니다.
WileCau

0

목록이 실제로 짧을 경우 -x 플래그를 두 개 이상 가질 수 있습니다.

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

테스트하는 동안 BTW .zip 파일을 계속 삭제해야했습니다. 내가 그것을 잊었을 때, 예를 들어 targetver.h는 마지막 실행에서 여전히 ZIP에있었습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.