Извлечение нескольких файлов 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...] {} \;