1

У меня есть много файлов zip архивов, которые я хотел бы упаковать в формат архива 7z , так как это сэкономило бы мне много места. Как мне переупаковать эти файлы на компьютере с Windows 7?

Я попытался сделать это с помощью графического интерфейса 7-zip-архиватора, но не нашел соответствующей функции. WinRar имеет функцию "Преобразовать", но он не архивируется в формат 7z .

Я не спрашиваю исключительно о решении, включающем сценарии пакетного файла.

3 ответа3

5

Это мой собственный взгляд на проблему:

for %%F in (*.zip) do ( "C:\Program Files\7-Zip\7z.exe" x -y -o"%%F_tmp" "%%F" * & pushd %%F_tmp & "C:\Program Files\7-Zip\7z.exe" a -y -r -t7z ..\"%%~nF".7z * & popd & rmdir /s /q "%%F_tmp" )

Сохраните его в файл zip to 7z.bat , поместите его в каталог со всеми файлами zip, которые вы хотите преобразовать, и дважды щелкните его там.

Спасибо Clint Priest за базовый код.

2

Вы можете использовать командную строку 7zip (подробные примеры здесь), чтобы сначала извлечь все файлы / папки (используя команду e), а затем повторно сжать их до 7z (используя команду a).

Если вы планируете повторить эту операцию, рассмотрите возможность захвата командных строк в файле .bat/.cmd.

И всегда проверяйте небольшой каталог, прежде чем пытаться использовать огромное количество архивов!

1

Вот командная строка, которая сделает это за вас, это предполагает, что файлы zip находятся в том же каталоге, что и 7z.exe:

for %F in (*.zip) do ( 7z.exe e -y -o%~nF.tmp %F * & pushd %~nF.tmp & ..\7z.exe a -y -r -t7z ..\%~nF * & popd & rmdir /s /q %~nF.tmp )

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .