Домашняя » как » Легко конвертировать все ваши архивы Zip в архивы 7z

    Легко конвертировать все ваши архивы Zip в архивы 7z

    Формат zip является стандартом для сжатия файлов, однако многие опытные пользователи и системные администраторы предпочитают использовать формат 7z, поскольку он предлагает значительно лучшие коэффициенты сжатия. У формата zip есть несколько вещей, таких как скорость (относительно других форматов сжатия) и поддержка приложений.

    Итак, чтобы получить лучшее из обоих миров, мы создали скрипт, который преобразует ваши zip-файлы в 7z-файлы с помощью одной команды, процесс, который мы называем «глубокое архивирование»..

    Практическое использование

    Так зачем вам этот скрипт, если вы могли бы просто начать создавать архивы 7z? Вот несколько причин:

    1. Некоторые приложения могут создавать только архивы в формате zip.
    2. Поскольку сжатие zip выполняется быстрее, чем сжатие 7z, вы можете быстро создать zip-файл, а затем «глубоко сжать» его позже..

    Рассмотрим этот сценарий:

    Вы запускаете FTP-сайт, на котором клиенты загружают вам данные в формате zip. Затем ваши пользователи загружают и используют данные по мере необходимости, но вы хотите сохранить эти файлы на некоторое время, на случай, если они понадобятся вашим пользователям (в этом случае вы герой за их доступность). Чтобы сэкономить место, вы можете преобразовать zip-архивы в формат 7z и спрятать их.

    В качестве альтернативы замените загруженные пользователем данные из вышеописанного сценария на резервные пользовательские данные (или что-либо еще, о чем вы можете подумать), и вы увидите, что для этого есть много практических приложений.

    Сценарий

    @ECHO OFF ECHO Deep Archive ECHO Автор сценария: Джейсон Фолкнер, ECHO SysadminGeek.com ECHO. ECHO. REM берет файл Zip и повторно сжимает его как архив 7z. Процесс сценария REM: REM 1. Распакуйте существующий архив. REM 2. Сжатие извлеченных файлов в формате 7z. REM 3. (необязательно) Проверьте новый файл 7z. REM 4. (необязательно) Удалить исходный архив. REM REM Использование: REM DeepArchive ZipFile REM REM Требования: REM Средство командной строки 7-Zip (7za.exe) находится в местоположении, заданном в переменной PATH. REM REM Дополнительные примечания: REM Этот скрипт обрабатывает один zip-архив. REM Для обработки всех zip-архивов в папке, используйте команду ForFiles из командной строки: REM FORFILES / P "pathtozipfiles" / M * .zip / C "cmd / c DeepArchive @path" REM REM Для запуска сжатия / распаковки архива поскольку фоновые процессы низкого приоритета REM добавляют это перед командами 7ZA (НЕ добавляйте это перед командой 7ZA проверки): REM START / BelowNormal / Wait REM При добавлении вышеупомянутой команды будет использоваться новое окно для выполнения этих операций. SETLOCAL EnableExtensions EnableDelayedExpansion REM Следует ли проверять файл глубокого архива? (1 = да, 0 = нет) SET Validate = 0 REM Уровень сжатия: 1,3,5,7,9 (выше = медленнее, но больше сжатия) SET CompressLevel = 5 REM Удалять исходный zip-файл при успехе? (1 = да, 0 = нет) SET DeleteSourceOnSuccess = 1 REM ---- Не изменяйте ничего ниже этой строки ---- SET ArchiveFile =% 1 SET DeepFile =% ArchiveFile: .zip = .7z% SET tmpPath =% TEMP %% ~ nx1 SET tmpPathZip = "% tmpPath% *" SET tmpPath = "% tmpPath%" SET tmpFile = "% TEMP% tmpDeepArchive.txt" ЕСЛИ НЕ СУЩЕСТВУЕТ% tmpPath% (MKDIR% tmpPath%) Иначе (RMDIR / S / Q% tmpPath%) ECHO Извлечение архива:% ArchiveFile% 7ZA x% ArchiveFile% -o% tmpPath% ECHO. ECHO Сжатие архива:% DeepFile% 7ZA a -t7z -mx% CompressLevel%% DeepFile%% tmpPathZip% ECHO. IF % Validate% == 1 (ECHO Validating archive:% DeepFile% 7ZA t% DeepFile% | FIND / C "Все в порядке">% tmpFile% SET / P IsValid =< %tmpFile% IF !IsValid!==0 ( ECHO Validation failed! DEL /F /Q %DeepFile% ECHO. GOTO Fail ) ELSE ( ECHO Validation passed. ) ECHO. ) GOTO Success :Success IF %DeleteSourceOnSuccess%==1 DEL /F /Q %ArchiveFile% ECHO Success GOTO End :Fail ECHO Failed GOTO End :End IF EXIST %tmpFile% DEL /F /Q %tmpFile% IF EXIST %tmpPath% RMDIR /S /Q %tmpPath% ENDLOCAL 

    связи

    Скачать скрипт DeepArchive от SysadminGeek.com

    Загрузить 7-Zip инструмент командной строки