Open Source. ТРУ.

Порой возникают задачи по массовой перепаковке архивов из одного формата в другой. Например, “утрамбовка” целой директории из zip в 7z.
Вот тру-опен-сорс-скрипт repackdir.sh, который сделает все сам – достаточно вызвать его “стоя” в директории с зипами.

#!/bin/sh
for file in *.zip
do
file_basename=`basename "$file" .zip`
echo $file_basename
mkdir "$file.unp"
unzip "$file" -d "$file.unp"
cd "$file.unp"
7zr a -t7z -mx9 "../$file_basename.7z" -r
cd ..
rm -rf "$file.unp"
done
Развесистые субдиректории поддерживаются. Злоупотреблять с ущербными именами файлов не стоит, хотя вроде все должно работать.
Мда… помнится конвертер zip->rar для Windows Scripting Host занимал как-то побольше.
Ахтунги:

  • Пакует с мегасжатием, поэтому процесс ресурсоемкий.
  • Для работы надо, чтобы в системе были установлены пакеты zip (unzip) и p7zip.

Ответить

Вы должны авторизоваться для отправки комментария.