Параметры командной строки 7zip для получения дополнительной информации при синхронизации

Параметры командной строки 7zip для получения дополнительной информации при синхронизации

Есть ли в параметрах командной строки 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".

Связанный контент