Извлечение нескольких файлов 7z с автоматическим переименованием

У меня есть куча файлов 7z, некоторые из которых содержат файлы с одинаковыми именами. Поэтому я бы хотел сделать авто переименование.

Я могу сделать что-то вроде

find ./all -exec 7z x -pabc123 -oall/xml {} \;

чтобы извлечь все файлы, но для каждого архива запрашивается, хочу ли я их автоматически переименовывать. Есть ли способ, которым я могу просто спросить меня об этом? Или еще лучше, передать это в качестве параметра командной строки?

(Обратите внимание, что я должен использовать семь почтовых индексов, потому что у него есть пароль.)

1 ответ

Решение

Из руководства по p7zip:

-ao Переключатель режима перезаписи

Задает режим перезаписи во время извлечения, чтобы перезаписать файлы, уже имеющиеся на диске.

Синтаксис

-ao[a | s | t | u ]

Описание переключателя

-aoa Перезаписать все существующие файлы без запроса.
-aos Пропустить распаковку существующих файлов.
-aou Переименовать распаковывающий файл (например, name.txt будет переименован в name_1.txt).
-aot автоматическое переименование существующего файла (например, name.txt будет переименован в name_1.txt).

Примеры

7z x test.zip -aoa

извлекает все файлы из test.zip архивировать и перезаписывать существующие файлы без каких-либо подсказок.

Команды, которые можно использовать с этим переключателем

e (Выдержка), x (Извлечь с полными путями)

Смотрите также

Переключатели: -y (предположим, да на все запросы)

Похоже, либо -aou или -aot включить 7z Команда будет делать то, что вы хотите, например:

find all -exec 7z x -aou [OPTIONS...] {} \;
Другие вопросы по тегам