ViSiToR
Silver Member | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору Вобщем, не нашёл я достойных средств для скачивания и распаковки файлов средствами одной лишь системы, поэтому воспользовался curl и 7z... Представляю вашему вниманию батник, которы поможет скачивать файлы с сети с расширение *.7z, *.zip, *.rar, *.tar, и распаковывать их в указанную (при установке) папку с именем самого архива! Всё очень просто, скачиваем архив Down_and_Extract.zip v1.0 beta 2, распаковываем его куда нибудь, и запускаем пакетны файл (далее батник) “Down_and_Extract.bat”... Далее программа потребует установить себя в Internet Explorer (далее IE), если будет запущен IE, то программа предложит их закрыть (при отмене интеграции не будет), после согласия на интеграцию (и по необходимости закрытия всех окон IE), будет предложено ввести путь к каталогу, в который будут скачиваться и распаковываться архивы (если путь не существует, и если возможно, то он будет создан), далее поступит вопрос о том, что нужно делать в случае совпадения имён при распаковке, если ответить "Да", то файлы будут заменяться, если нет, то будут переименовываться автоматически (в _1 _2 и т.д. в конце файла). После установки, в меню которое выпадает по нажатию правой кнопкой мышки на ссылке IE, будет виден пункт с именем "Download and Extract", он и будет служить для закачки и распаковки. ------------ Примечания: ------------ В силу ограниченности утилиты 7z, если требуется скачать архив с расширением *.rar, то в папку с программой будет скачана утилита Rar.exe (269 kb) - с её помощью и будут закачиваться файлы подобного расширения. Если нужно чтобы по окончанию не выводилось окно о том что закачка и распаковка окончена, нужно в начале батника (перед интеграцией) поменять это: Код: На это: Код: По умолчанию, окно батника не показывается (при закачке), чтобы оно отображалось (к примеру, если нужно видеть процесс скачки и распаковки), в батнике нужно найти такую строку (тоже перед интеграцией): Код: Echo D2Ex^.Run "%IEShortPath%\%BatName%.bat " ^& Replace(Link, "&", "%%26"), 0, False>> "%HtmFile%" | И убрать из неё это: Код: В результате эта строка должна выглядеть так: Код: Echo D2Ex^.Run "%IEShortPath%\%BatName%.bat " ^& Replace(Link, "&", "%%26")>> "%HtmFile%" | В любом случае, если после интеграции требуется внести изменения в параметры программы, то нужно перейти в каталог "%programfiles%\Internet Explorer\PLUGINS\Down_and_Extract" и открыть файл (в обычном блокноте) "Down_and_Extract.dat" - в первой строке задаётся параметр, который определяет, как будет себя вести программа при совпадении имён файлов... Если записать в первой строке так: Код: то файлы будут автоматически переименовываться в "имя файла_1.txt", "имя файла_2.txt" и т.д. Если вместо 0 поставить там 1, то файлы будут заменяться. Во второй строке, задаётся путь к каталогу, в который будут скачиваться, и позже распаковываться файлы - если там указать неверны путь, то будет попытка его создать, если создать путь невозможно, то путь будет считаться такой: "C:\Downloads" ------------------------------- -Те кто юзает браузер Opera, тоже может "прикрутить" этот батник, для этого нужно создать файл с расширением *.vbs, назвать его допустим так - “DownEndExtract.vbs” - и записать в него это: Код: Set D2Ex = CreateObject("WScript.Shell") Link = external.menuArguments.event.srcElement D2Ex.Run "путь\до\батника\Down_and_Extract.bat " & Replace(Link, "&", "%26"), 0, False | Желательно поместить этот скрипт (и сам батник) в каталог с браузером Opera - Всё это для того чтобы батник не показывался, и для того чтобы заменять символ & на его hex-аналог (%26). А в сам браузер, в файл профиля меню, под секцию [Link popup Menu] добавить такую строку: Код: Item, "Скачать и распаковать" = Execute program, "путь\до\скрипта\DownAndExtract.vbs", "%l",, "Attachment Archives" | А также нужно будет создать в этой же папке (где и батник) файл "Down_and_Extract.dat", и в первую строку вписать /0 (для того чтобы файлы НЕ заменялись, а переименовывались) или /1 (для того чтобы файлы заменялись), а во вторую строку прописать путь до каталога в который будут закачиваться и распаковываться файлы. ------------------------------ И ещё, батник представляет своего рода гибрид между пакетным файлом и vbs скриптами (которые генерируются самим батником), поэтому он сильно зависит от ресурсов системы - тестировано на Windows XP SP2 с IE 6. P.S Батник написал на скорую руку, просто ради интереса (я такую же утилиту написал на AutoIT), в нём возможны (и наверняка будут) многие недочёты и ошибки, поэтому прошу тех кто может - поправить их, а тех кто не может, просто не огорчаться, обязательно доведём его до возможного совершенства! Спасибо! -------------------- История версии: -------------------- [10/02/2007] - 1.0 beta 2 -Исправлена ошибка при распаковке - если архив содержал файлы в подкаталогах, то они распаковывались в корневую папку без сохранения структуры папок (это вызывалось ключом 'e' у команды запускающей 7z, а нужно через 'x'). -Исправления в выводах сообщении - иконка MsgBox'а представляла вопрос, хотя вопроса не было -Исправлена ошибка при распознавании поддерживаемых форматов архива (для *.7z проверялось 4 последних символа, хотя нужно 3 ). -Улучшен метод интеграции - теперь программа определяет запущены/е процесс/ы Internet Explorer, и по необходимости (после подтверждения) закрывает его/их. -Теперь при закачке и распаковке приложение IE не блокируется - за это благодарим igor_andreev'а *Прямые пути (в основном C:\program files) были заменены переменными окружения, а в нужных местах эти переменные записываются в укороченном виде (за это спасибо доброму и отзывчивому модератору этого топика - evle ). *Теперь всегда временные файлы (*.vbs) по окончанию закачки и распаковки будут удаляться (до сих пор при некоторых условиях оставался файл vbs во временной папке %temp%). *В силу ограниченности утилиты 7z, для закачки архивов с форматом *.rar будет автоматом однократно скачана утилита Rar.exe. +Добавлено ещё одно поддерживаемое расширение *.tar - оказывается 7z и его нормально распаковывает. +При переименовании файлов также учитывается закачиваемы архив и каталог в который будет произведена распаковка. +По окончанию интеграции запускается Internet Explorer +Добавлен файл Readme.txt - при первом запуске (вместе с интеграцией) файл запускается в блокноте. [09/02/2007] - 1.0 beta 1 Создана программа Down_and_Extract.bat
---------- ViSiToR a.k.a CreatoR CreatoR это не ник, CreatoR это стиль жизни! |
| Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 19:16 09-02-2007 | Исправлено: ViSiToR, 14:10 10-02-2007 |
|