대상 폴더를 동기화하는 명령줄 압축 풀기

대상 폴더를 동기화하는 명령줄 압축 풀기

.zip을 폴더에 압축 해제하고 해당 폴더의 내용을 .zip의 내용과 동기화하는 방법이 있습니까?

폴더를 최신 파일로 업데이트하는 -u(pdate) 옵션을 사용할 수 있다는 것을 알고 있지만 그것만으로는 충분하지 않습니다. 실제 동기화를 수행하려면 이 파일이 필요합니다(.zip에 없는 파일을 제거하고 최신 파일을 업데이트함).

또한 대용량 .zip 파일을 동기화하므로 속도도 빨라야 합니다. 따라서 닦아내고 깨끗한 압축을 푸는 것은 옵션이 아닙니다.

나는 작업을 수행할 수 있는 모든 도구에 열려 있습니다. 하지만 명령줄에서 무인으로 작동해야 합니다.

답변1

윈집추출 시 인수 WZUNZIP.EXE와 함께 사용할 수 있는 다음 옵션으로 명명된 명령줄 지원 추가 기능이 있습니다 .-e

-N-- 최신 파일만 압축을 풉니다. 이 옵션은 보관된 파일이 최신 파일인 경우 기존 파일을 업데이트하고, 아직 없는 경우 새 파일을 만듭니다.

답변2

나는 꽤 오랫동안 이 기능을 갖춘 것을 검색했습니다. Info-ZIP 유틸리티는 무료이며 명령줄 기반이며 최신 파일을 업데이트하는 것 외에도 소스 폴더에 더 이상 존재하지 않는 파일을 아카이브에서 제거하는 -FS 스위치가 있습니다. IE ZIP 파일 동기화. http://www.info-zip.org/ 참고: 이 유틸리티의 유일한 문제는 명령줄 인수의 일부로 소스 폴더를 명시적으로 지정하는 기능이 없다는 것입니다. 현재 작업 디렉터리를 소스로 사용합니다. 따라서 스크립트에서는 CD 명령을 사용하여 먼저 소스 디렉터리로 변경한 다음 ZIP 명령을 시작합니다. 예를 들어:

CD /D D:\Program Settings\Favorites
zip -FS -r -9 -b %Temp% -q -ds 0 "D:\Backup\Favorites.zip" .

관련 정보