У меня есть почтовый файл, который содержит много файлов. Каждый файл в zip-файле имеет размер около 100 МБ и сжимается примерно на 10% (т.е. в файле zip он составляет около 90 МБ). Весь zip-файл занимает 20 ГБ, и я пытаюсь разархивировать его на диск, который имеет только 30 ГБ свободного места.

В Windows 7, как я могу разархивировать zip-файл на жестком диске моего ноутбука, на котором недостаточно места для заархивированных и разархивированных копий файла?

IE я могу сказать Windows, чтобы удалить вещи из ZIP-файла, поскольку он несжатый?

4 ответа4

1

Вменяемый метод

Если у вас достаточно большой флеш-накопитель (или сетевой ресурс с возможностью записи, например, другой компьютер с поддержкой CIFS в сети), вы можете извлечь один файл за раз из архива, а затем удалить его из архива, используя (~ 20 ГБ бесплатно) "другое пространство" как временное / временное местоположение. Каждая утилита архивирования, с которой я когда-либо работал, может указать альтернативное временное местоположение.

В этом примере сценария используется 7-zip (а также grep и sed):

@ECHO OFF
SETLOCAL

SET ARCHIVE=temp.zip
SET SCRATCH_PATH=D:\temp
SET DEST_DIR=%~dp0\extracted

FOR /F "delims=*" %%f IN ('7z.exe l "%ARCHIVE%" -slt ^| grep -B1 "Folder = -" ^| grep "Path = " ^| sed "s/Path = //"') DO (
    @ECHO.
    @ECHO %%~f
    7z.exe x -y -o"%DEST_DIR%" -w"%SCRATCH_DIR%" "%ARCHIVE%" "%%~f" >NUL
    7z.exe d -w"%SCRATCH_DIR%" "%ARCHIVE%" "%%~f" >NUL
    FOR %%g IN (%ARCHIVE%) DO @ECHO   %ARCHIVE%: %%~zg
)

Это функционально правильно, хотя я не пытался создать файл, слишком большой, чтобы извлечь его на моем компьютере, просто чтобы проверить его.

Безумный метод

Вы также можете временно сжать некоторые файлы на жестком диске, которые, как вы знаете, вам не понадобятся во время процесса извлечения (например, Office), чтобы освободить достаточно места для извлечения файлов, а затем полностью изменить процесс после завершения извлечения.

0

Супер простое решение: скопируйте на портативный жесткий диск и разархивируйте его, или отдайте другу, чтобы распаковать.

0

Я не думаю, что вы можете осуществить это. Я не знаю ни одного почтовой утилита Windows , которая может извлечь файл , а затем на месте укоротить архив даже без использования временного файла. Вам просто нужно сделать это на диске с достаточным количеством свободного места.

-1

не пробовал, но это может сработать ... http://www.hongkiat.com/blog/unzip-files-online-with-wobzip/

Wobzip - это онлайн-сервис, который помогает вам разархивировать практически любые сжатые форматы. В настоящее время он поддерживает до 100 МБ одного сжатого файла, чтобы он соответствовал вашей цели.

Загрузите ваши файлы на сервер, затем вы можете удалить существующий zip-файл и затем загрузить несжатый файл

Он не поддерживает Unicode, но будет работать с файлами, защищенными паролем

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