커맨드 라인 7zip 명령에서 와일드 카드 경로를 제외하는 방법에 대한 아이디어가 있습니까?
나는 이런 식으로하고있다 :
7z.exe a -t7z archive.7z FolderToArchive\ -mx0
“FolderToArchive”아래에있는 폴더 \bin\*.*
나 \obj\*.*
폴더 를 제외하고 싶습니다 .
파일을 제외하기 위해 -x
매개 변수를 사용할 수 있습니다 . 도움말 파일은 다음을 사용하는이 예제를 제공합니다 -x
.
7z a -tzip archive.zip *.txt -x!temp.*
파일을 제외하는 데 좋습니다. 그러나 다시 와일드 카드 지정 폴더를 제외하고 싶습니다. 내 “FolderToArchive”에서 해당 폴더 아래에 또는이 없을 수도 있고, 여러 폴더가 있습니다 bin\
및 obj\
폴더. 아카이브에 포함시키지 않겠습니다.
나는 같은 패턴을 시도했다
-x!bin\*
-x!bin\*.*
-x!\bin\*
-x!\bin\*.*
-x!\\bin\\*
-x!\\bin\\*.*
bin\
폴더 를 제외하지 않는 것 같습니다 . 이것은 단순히 7zip의 제한입니까?
답변
bin 및 obj 폴더를 재귀 적으로 제외하려면 다음 명령을 사용할 수 있습니다.
7z.exe a -t7z archive.7z FolderToArchive\ -mx0 -xr!bin -xr!obj
답변
버그를 피하려면 -r 또는 -xr을주의해서 사용하십시오.
다음과 같은 디렉토리가 있다고 가정하십시오.
.\path1\path2\bin
.\path1\path2\src
.\path3\path4\path5\bin
.\path3\path4\path5\src
명령을 실행하십시오.
7z a -t7z archive.7z .\path1\path2 .\path3\path4\path5 -xr!bin
아카이브에 넣은 것.
.\path2\src
.\path5\src
즉, .\path2\
and .\path5\
는 archive.7z 에서 최상위 폴더 가되었으며 두 bin
디렉토리는 모두 제외되었습니다.
-x 는 아카이브의 최상위 폴더에 상대적인 경로 / 파일 이름 만 지원합니다 .
따라서을 제외 .\path1\path2\bin
하고 다른 모든 ‘bin’디렉토리를 포함하려면 명령은 다음과 같아야합니다.
7z a -t7z archive.7z .\path1\path2 .\path3\path4\path5 -x!path2\bin
-x에서 절대 경로를 사용하려고 시도했지만 절대 성공하지 못했습니다.
최신 정보:
-spf
Linux 용 7z에는 절대 경로와 함께 작동 하는 옵션이 있습니다 .
에 따르면 마르코 , -spf
15.14을 7-ZIP에서 Windows에서도 사용할 수 있습니다