Войти

Показать полную графическую версию : [решено] Распаковать архив ZIP


interminable
08-06-2012, 10:13
Здрасте!
Подскажите такой вопрос: как распаковать все архивы из папки - каждый в отдельную папку по названию архива с помощью консольной команды unzip.
НУЖНА ИМЕННО КОНСОЛЬНАЯ КОМАНДА.

Iska
08-06-2012, 10:21
interminable, тогда от Вас требуется уточнить — про какой именно «unzip» идёт речь.

interminable
08-06-2012, 10:24
Тот который встроен в WinXP
В консоли вводишь unzip...Unzip 5.32 of 3 November 1997

Iska
08-06-2012, 10:57
Ваш UnZip (http://www.info-zip.org/UnZip.html), очевидно, «встроен» в Windows XP сборщиками Вашего дистрибутива.

На оригинальном дистрибутиве его нет:
"unzip.exe" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

НУЖНА ИМЕННО КОНСОЛЬНАЯ КОМАНДА. »
Для исполнения «НЕПОСРЕДСТВЕННО В КОМАНДНОЙ СТРОКЕ»:
for %i in (*.zip) do @(md "%~ni" 2>nul & unzip.exe "%i" -d "%~ni")

Источник: UNZIP Documentation (http://www.info-zip.org/mans/unzip.html).
Последняя версия: UNZIP (ftp://ftp.info-zip.org/pub/infozip/win32/unz600xn.exe).

interminable
08-06-2012, 11:07
БЛИН СПАСИБО!!!!
Весь гугл заморочил не нашел! А тут раз и помогли!!!!

А можете расписать, что каждій атрибут конкретно значит?
for
%i
in
do
@(md и т.д.

И почему когда я заношу эту команду в BAT файл она не работает(((

Iska
08-06-2012, 12:07
Начнём с конца:
И почему когда я заношу эту команду в BAT файл она не работает((( »
Нужно удвоить символы «%» при переменной. Также, если в начале пакетного файла у Вас используется типичное «@echo off», можно убрать символ подавления эха «@» внутри цикла. Вот так:
for %%i in (*.zip) do (md "%%~ni" 2>nul & unzip.exe "%%i" -d "%%~ni")

А можете расписать, что каждій атрибут конкретно значит? »
Начните с:
for /?
и
md /?
и Windows Command Reference (http://www.microsoft.com/download/en/details.aspx?id=2632). Затем, если появятся вопросы, пишите — объясним.




© OSzone.net 2001-2012