Показать полную графическую версию : [решено] Автоподстановка названия файла
Здравствуйте.
имеем батник :)
"C:\Program Files\WINRAR\Rar.exe" x -ad a.rar
Подскажите пожалуйста, как его переделать, так чтобы с помощью него можно было открыть любой раровский файл и вместо a.rar автоматически подставился его полный путь и выполнялась команда.
так:
1) создаем файл unrarit.cmd следующего содержания:
"C:\Program Files\WINRAR\Rar.exe" x -ad "%1"
2) запускаем его, указывая в качестве параметра
любой раровский файл »
т.е.
unrarit.cmd a.rar
Не распаковывает.
Какие есть ещё варианты?
Не распаковывает. »
краткость в родственниках числится? Подробно - как задаешь, чего пишет? При чем здесь "ad" - это параметр для упаковки, а не наоборот. Короче, выполни
"C:\Program Files\WINRAR\Rar.exe" /? >c:\help.txt
и изучи параметры командной строки архиватора.
Что ты хочешь извлечь и куда? Если в текущую папку - убери "ad", все заработает.
При выполнении команды из cmd.exe
"C:\Program Files\WINRAR\Rar.exe" x -ad a.rar
Всё отрабатывает. Создаётся директория а и там лежат распакованные файлы.
Задача стоит, в том, чтобы связать расширение рар с батником. И при запуске файла рар, создавалась директория и туда распаковался файл. Т.е. чтобы батник могу динамически получать название файла, а не статически в нём забить только одно название.
P.S.
по поводу команды. Вот из официальной справки.
-ad Добавить к пути назначения имя архива Этот ключ может пригодиться при распаковке группы архивов. По умолчанию RAR извлекает файлы из всех архивов в один и тот же каталог, если же указать ключ -ad, то файлы из каждого архива будут распакованы в отдельные каталоги. Пример: rar x -ad *.rar data\ Здесь при извлечении RAR будет создавать в каталоге 'data' подкаталоги для каждого распаковываемого архива.
P.P.S.
Может у нас с Вами версии разные?
У меня 3.80 Ru
Forpost, понял, проверил. Все работает. Что именно у тебя не получилось?
Подкорректировал первое свое сообщение (http://forum.oszone.net/post-1402877.html#post1402877), попробуй еще раз.
Не совсем так. Батник будет запускаться не из командной строки, а расширение будет с ассоциировано с этим батник.
Равносильно, что правой кнопкой стать на рар архиве => "Открыть с помощью" => "Обзор" => Выбираем бат файл. Вуаля бат-файл ассоциирован с расширением рар. Вот при таком условии описанный выше батник - не работает :)
Forpost, только что проверил - работает.
Forpost, если запуск будет не из командной строки, зачем использовать консольный вариант?! Используйте GUI.
REGEDIT4
[HKEY_CLASSES_ROOT\WinRAR\shell\ExtractToFolder]
@="Извлечь в одноимённую папку"
[HKEY_CLASSES_ROOT\WinRAR\shell\ExtractToFolder\command]
@="\"C:\\Program Files\\WinRAR\\WinRAR.exe\" x -ad \"%1\""
Можно использовать и переменную вместо непосредственного указания «C:\Program Files»:
REGEDIT4
[HKEY_CLASSES_ROOT\WinRAR\shell\ExtractToFolder]
@="Извлечь в одноимённую папку"
[HKEY_CLASSES_ROOT\WinRAR\shell\ExtractToFolder\command]
@=hex(2):22,25,50,72,6f,67,72,61,6d,46,69,6c,65,73,25,5c,5c,57,69,6e,52,41,52,\
5c,5c,57,69,6e,52,41,52,2e,65,78,65,22,20,78,20,2d,61,64,20,22,25,31,22,00
P.S. Если Вы настойчиво хотите, чтобы сие действие было умолчальным (вместо глагола Open), измените глагол по умолчанию (хотя я бы крайне не рекомендовал этого делать) с помощью:
REGEDIT4
[HKEY_CLASSES_ROOT\WinRAR\shell]
@="ExtractToFolder"
Так, по крайней мере, можно будет легко вернуть прежнее поведение по умолчанию.
P.S. Я, правда не понял, чем не устраивает имеющаяся команда самого WinRar'а «Извлечь в «имя архива» (Извлечение файлов в указанную папку)/Извлечь каждый архив в отдельную папку»?
Всё работает. только для расширения зип надо тоже самое проделать.
Forpost, смотрите сами. Если у Вас была задействована интеграция WinRar с zip-архивами, то в «HKEY_CLASSES_ROOT\.zip» значение по умолчанию должно быть таким:
REGEDIT4
[HKEY_CLASSES_ROOT\.zip]
@="WinRAR.ZIP"
и, соответственно, достаточно будет сделать reg-файлы, аналогичные reg-файлам из поста #9 (http://forum.oszone.net/post-1403723-9.html), только поменяв в наименованиях разделов «WinRAR» на «WinRAR.ZIP» (например, «[HKEY_CLASSES_ROOT\WinRAR\shell\ExtractToFolder]» — на «[HKEY_CLASSES_ROOT\WinRAR.ZIP\shell\ExtractToFolder» и т.п.). Т.е., файл реестра (код №2 из поста #9 (http://forum.oszone.net/post-1403723-9.html)) примет следующий вид:
REGEDIT4
[HKEY_CLASSES_ROOT\WinRAR.ZIP\shell\ExtractToFolder]
@="Извлечь в одноимённую папку"
[HKEY_CLASSES_ROOT\WinRAR.ZIP\shell\ExtractToFolder\command]
@=hex(2):22,25,50,72,6f,67,72,61,6d,46,69,6c,65,73,25,5c,5c,57,69,6e,52,41,52,\
5c,5c,57,69,6e,52,41,52,2e,65,78,65,22,20,78,20,2d,61,64,20,22,25,31,22,00
Если же у Вас в «HKEY_CLASSES_ROOT\.zip\@» нечто иное (что вряд ли, но — на всякий случай!) — соответственно, вместо «WinRAR.ZIP», ищете в «HKEY_CLASSES_ROOT» и добавляете именно в тот раздел, который указан в значении «HKEY_CLASSES_ROOT\.zip\@».
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.