7-zip을 사용하여 파일을 백업하지만 일부 디렉토리는 제외하는 방법 곳이나)이라는 모든 디렉토리를 제외하고

7-zip을 사용하여 디렉토리를 백업하고 싶지만 “.svn”(소스 트리의 아무 곳이나)이라는 모든 디렉토리를 제외하고 싶습니다. 이것이 가능한지 아는 사람이 있다면 어떻게합니까?



답변

모든 .svn 디렉토리를 제외하려면 -xr!?svn\*스위치 를 추가해야 합니다

예를 들어 다음은 C:\Project\To\Backup만족하는 폴더를 제외한 디렉토리 의 백업을 만듭니다 ?svn.

"C:\Program Files\7-Zip\7z.exe" a -r -tzip -y -xr!?svn\* Project.zip C:\Project\To\Backup\*

답변

7-Zip을 사용하여 .svn (또는 잠재적으로 _svn) 폴더를 제외하는 대신 svn export 명령 ( SlikSVN의 svn.exe 사용 )을 사용하여 작업 사본을 임시 폴더로 내보내는 것이 좋습니다 .

svn export C:\Path\To\WC C:\Backup\Staging

그런 다음 다음과 같이 7-Zip을 사용하십시오.

7z.exe a "C:\Parth\To\Archive" "C:\Backup\Staging\*" -bd t7z -v2g -r

그런 다음 준비 폴더를 삭제하십시오.

이것이 로컬 작업 복사본을 백업하기 위해 수행하는 작업입니다.


답변

파일 또는 디렉토리 목록을 사용하여 7zip 파일을 제외시킬 수 있습니다.

/path/to7Zip/7z a -bd f:/backup/backup_2009-08-23_daily.zip home \
          '-xr@\path\to\backup_daily_exclude.lst'

제외 파일은 다음과 같습니다.

home\Photos\iPod*
home\dhltd\*
BlogMatrix\Sparks\db\*.archive
home\eclipse\*
.svn

키는 -xr이며 특히 “r”은 제외 목록을 재귀 적으로 디렉토리의 각 레벨에 적용 함을 나타냅니다. 2 개의 제외 파일 목록을 사용하여 하나를 사용하고 하나는 재귀 제외를 사용할 수 있습니다. 위의 내용은 cygwin에서 실행되는 bash 스크립트에서 가져온 것입니다.


답변

내가 사용했을 때

"C:\Program Files\7-Zip\7z.exe" a -r -ttar -xr!?git\* aufs2-util.tar aufs2-util\*

원하지 않는 .git 디렉토리를 추가하여 다음으로 변경했습니다.

"C:\Program Files\7-Zip\7z.exe" a -r -ttar -xr!?git\ aufs2-util.tar aufs2-util\*

원하는 결과를 얻었습니다.


답변

내가 사용했을 때

7z a "D:\codebase\w.7z" "D:\codebase\Edison\otm\Webapp" -t7z -mx0 -xr!WEB-INF\*

WEB-INF 디렉토리는 제외되지 않았습니다. 디렉토리 이름 앞에 별표 추가

7z a "D:\codebase\w.7z" "D:\codebase\Edison\otm\Webapp" -t7z -mx0 -xr!*WEB-INF\*

원하는 결과를 얻었습니다.


답변

저에게는 여러 maven 코드 디렉토리를 백업하려고했는데 “target”이라는 디렉토리를 제외하고 싶었습니다.

"C:\Program Files\7-Zip\7z.exe" a -r -tzip -y -xr!*\target\* site.zip C:\code\site\

관련 제외 매개 변수는 -xr!*\target\*입니다.