
Есть ли в параметрах командной строки 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 не имеет опции "extra verbosity". Но вы можете использовать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\
с тем, что есть в архиве, вам придется либо написать обертку, как сказал Алекс П., либо написать скрипт с тем, что вы хотите, чтобы выполнить сравнение между списком файлов в 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 это тоже есть? Хотя это далеко не так многословно, как "xz" в Linux с "-vvv".