Как мне преобразовать мои существующие zip-файлы в 7z с помощью 7-zip командной строки?

5402
Grumpy ol' Bear

Я бы хотел конвертировать пару тысяч zip-файлов в 7z с максимальным сжатием и поддержкой многопоточности.

Тоже в другом месте. Например, c: \ temp \ file.zip для f: \ convert \ file.7z

1

3 ответа на вопрос

2
jesjimher

Вы можете использовать arepack(входит в atoolкомплект команд ) для преобразования между форматами архива. В сочетании с небольшим bash, он позволяет легко конвертировать несколько файлов ZIP в 7z:

for f in *.zip; do arepack $f $f.7z; done rm *.zip 
Вы можете использовать `--each` /` -e`, чтобы `arepack` сделал итерацию за вас:` arepack --each --format = 7z * .zip` Joel Purra 7 лет назад 3
@JoelPurra лучшее решение для «арепака»! Спасибо Matt Sephton 5 лет назад 1
1
Grumpy ol' Bear

Nevermind, http://www.peazip.org/ отлично справляется с работой!

Редактировать: Но, черт возьми, это занимает слишком много времени ....

И он также не может обрабатывать * некоторые * почтовые индексы, которые содержат имена файлов в «плохих» кодировках, таких как cp1251 или koi8r или что-то в этом роде. Sergey 10 лет назад 0
0
Sergey

I wrote a script in Python - https://raw.github.com/pashinin/scripts/master/zip27z.py You can run it with:

./zip27z.py your_archive.zip 

and it will create your_archive.7z near it.

Or you can install it on your system with make install (if you see the repo)

And just call:

zip27z your_archive.zip 

It needs unzip and 7za programs.

You can modify it as you wish for your needs (and send me a pull request)