7Zip-Command Line : 와일드 카드 패턴으로 폴더를 제외 하시겠습니까? 아이디어가 있습니까? 나는 이런 식으로하고있다 : 7z.exe a -t7z

커맨드 라인 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의 제한입니까?



답변

binobj 폴더를 재귀 적으로 제외하려면 다음 명령을 사용할 수 있습니다.

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에서 절대 경로를 사용하려고 시도했지만 절대 성공하지 못했습니다.


최신 정보:

-spfLinux 용 7z에는 절대 경로와 함께 작동 하는 옵션이 있습니다 .

에 따르면 마르코 , -spf15.14을 7-ZIP에서 Windows에서도 사용할 수 있습니다


답변