
7zip 명령줄 옵션에 7z가 아카이브에서도 파일을 무시/삭제하도록 출력할 수 있는 인수가 있습니까? (옵션에 의해 무시되는 파일 -uq0
)
호출 예시:
"C:\Program Files\7-Zip\7z.exe" u "C:\Docz.7z" -uq0 "C:\Documentsx\*"
7zip 자세한 내용:
7-Zip [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18
Scanning
Updating archive C:\Docz.7z
Compressing hello.txt
Everything is Ok
아카이브가 추가되거나 대체되면 "hello.txt 압축 중"이라고 표시됩니다.
더 많은 정보나 장황한 내용을 알고 싶습니다...다음과 같습니다.
7-Zip [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18
Scanning
Updating archive C:\Docz.7z
Updating hello.txt
Adding examplenew.txt
Deleting/Ignoring documentdeleted.txt
Everything is Ok
답변1
7zip에는 "추가 장황함" 옵션이 없습니다. 하지만 당신은 사용할 수 있습니다7zip SDK원하는 작업을 수행하기 위해 라이브러리 주위에 간단한 래퍼를 작성합니다.
답변2
그게 왜 필요하겠어요? 즉, -u
플래그는 아카이브 업데이트를 세밀하게 제어할 수 있도록 정확하게 설계되었습니다.
"C:\Program Files\7-Zip\7z.exe" -ms=off -uq0 u "C:\Docz.7z" "C:\Documentsx\*"
Docz.7z
스위치로 아카이브를 생성한 경우 파일 추가 및 삭제가 업데이트됩니다 -ms=off
(그렇지 않으면 파일을 삭제할 수 없습니다). 가지고 있는 것과 C:\Documentsx\
아카이브에 있는 것을 비교해야 하는 경우 Alex P.가 말한 대로 래퍼를 작성하거나 파일 목록 간의 비교를 수행하려는 스크립트를 작성해야 합니다. 의 C:\Documentsx\
출력과 7z l Docz.7z
.
예를 들어 Linux에서 명령줄을 사용하면 다음과 같이 됩니다(스크립트로 변환 가능).
7z l Docz.7z | cut -c54-80 | sed -n -E '/---/,/---/p' | sed '/---/d' | sort > Docz.list
ls Documents/* | sort > Documents.list
diff Docz.list Documents.list
나는 당신이 Linux를 사용하지 않는다는 것을 알고 있지만 해당 bash 스크립트를 자신의 기초로 사용할 수 있습니다.
하지만 그 배경과 당신이 달성하려는 목표에 대해 좀 더 말씀해 주시겠습니까? 잘못된 길을 선택했을 수도 있습니다...
답변3
7z에는 일종의 장황한 옵션 "-bbX"가 있습니다. 여기서 X는 [0..3]이고 최대 장황함은 "-bb3"이며 "-slt"(기술 정보 표시)가 있습니다. 적어도 Linux 버전이지만 Windows 버전에도 그런 버전이 있다고 가정합니까? 하지만 "-vvv"가 포함된 Linux의 "xz"만큼 장황하지는 않습니다.