3

Есть ли в параметрах командной строки 7zip аргумент, который может заставить 7z выводить файлы, игнорируемые / удаляемые из архива? (файлы игнорируются опцией -uq0)

Пример вызова:

"C:\Program Files\7-Zip\7z.exe" u "C:\Docz.7z" -uq0 "C:\Documentsx\*"

7zip Verbose:

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

3 ответа3

5

7zip не имеет опции "лишнего многословия". Но вы можете использовать 7zip SDK и написать простую оболочку для библиотеки, чтобы делать то, что вы хотите.

3

Зачем вам это нужно? Я имею в виду, что флаг -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, но вы можете использовать этот скрипт в качестве основы для своего собственного.

Но не могли бы вы рассказать нам немного больше об истории вопроса и о том, чего вы пытаетесь достичь? Возможно, вы выбрали неправильный путь ...

-1

7z имеет вид многословной опции "-bbX", где X - [0..3], максимальная детализация - "-bb3", а затем есть "-slt" (показать техническую информацию). По крайней мере, версия для Linux, но я полагаю, что версия для Windows тоже? хотя это далеко не так многословно, как в Linux "xz" с "-vvv".

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .