Если вы стали заложником ситуации, когда важный и нужный для вас ZIP-архив с данными ни в какую не хочет распаковываться, то можно попытать счастья восстановить его при помощи Терминала. К сожалению, битые архивы – не редкость в повседневной практике, однако в недрах Mac OS X имеется маленький помощник – консольная утилита для работы с ZIP-архивами. По-полной управляться с данной утилитой можно исключительно при помощи Терминала, и если нужный вам архив имеет не критичные повреждения, то его можно восстановить, сохранив таким образом всю или большую часть необходимой информации.
Ну что ж, приступим. Запускаем Терминал и выполняем вот такую команду:
zip
Без каких-либо параметров консольная утилита zip выдаст краткую справка по ключам и примерам их использования (на досуге можете изучить подробнее её возможности):
Из всей спраквки нас интересует всего два момента: формат команды и ключ -F, который как раз и оповещает утилиту о том, что заданный архив нужно восстановить. Используя информацию из справки получаем формат команды, которую нужно будет применять для восстановления повреждённого ZIP-архива:
zip -F /путь/повреждённый_архив.zip --out /путь/восстановленный_архив.zip
Теоретические данные – это хорошо, но практика – это совсем другое. Поэтому для чистоты эксперимента я при помощи HEX редактора специально повредил заранее созданный ZIP-архив с файлами и теперь попробую его восстановить.
Практика.
Обычное открытие повреждённого архива двойным кликом приводит к вот такой ошибке (или подобной ей):
Открываем Терминал и выполняем ранее полученную команду (для удобства я поместил испорченный архив на Рабочий стол, поэтому обратите внимание на пути к архивам, кгда будете пробовать восстановить архив у себя):
zip -F ~/Desktop/Архив.zip --out ~/Desktop/Восстановленный.zip
После выполнения команды Терминал выдаёт следующее сообщение:
В сообщении говорится, что архив имеет неверную структуру и что восстановить его не удалось, однако предлагается воспользоваться ключом -FF для повторной попытки. Пробуем:
zip -FF ~/Desktop/Архив.zip --out ~/Desktop/Восстановленный.zip
После выполнения данной команды (уже с ключом -FF), выдаётся сообщение со следующим вопросом:
Так как у меня архив единый, а не какая-то часть разбитого на части архива, то я указываю Y и нажимаю Enter. После этого в Терминале отображается процесс восстановления и на Рабочем столе создаётся восстановленный ZIP-архив:
Созданный на Рабочем столе восстановленный архив легко разархивировался обычным способом (двойным кликом). Вот и всё.
а я как раз думал чем можно архивчик один реанимировать.Вот бы еще и память чтобы вспомнить какой у меня админ пароль?А то забыл его а сбросить пока что не получается
Пост получился кстати 😉
Классно! Битый архив открылся. Спасибо за помощь!
Рад был помочь 😉
Благодарю за помощь! Проблему решил
Всегда пожалуйста.
все работает,но архив не восстановился,печалька…
Значит повреждения критические 🙁
спасибо ! только с помощью вашей инструкции смог открыть архив
Всегда пожалуйста 😉