Сжатие\распаковка WinRAR'ом с помощью горячих клавиш в TC

Обсуждение Total Commander. Установка, использование, настройка, решение проблем, скрытые функции. Обсуждение новых версий.

Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik

Аватара пользователя
Йяхе
Сообщения: 32
Зарегистрирован: Вс июн 14, 2009 00:13

Сжатие\распаковка WinRAR'ом с помощью горячих клавиш в TC

Сообщение Йяхе »

Друзья, посодействуйте.

1. Допустим, в каталоге а\ есть каталог 123\. Необходимо, установив курсор на 123\ и нажав хоткей, получить архив 123.rar в каталоге a\. Как сделать хоткей понятно, но для этого нужно указать команду:
Команда, Параметры, Путь запуска.
Ну, команда ясно - rar.exe. :) Вот, с параметрами не получается. Колупаюсь уже давно, а время не терпит.
2. Например, в каталоге 123\ нужно выделить несколько файлов и папок (не все). И, также, хоткеем создать архив 123.rar с выделенным содержимым, здесь же, - в каталоге 123\. Хотелось бы, конечно, 1-ое и 2-ое одной командой выполнять, если возможно.
3. Распаковка. В каталоге 123\ есть архив asd.rar. Курсор на asd.rar, нажим горячих клавиш, получаем каталог 123\asd\ с содержимым архива asd.rar. Также, выделяя несколько архивов, нужно их распаковать с созданием папок по именам архивов.

Прошу помочь.
Спасибо.
kadvlad
Сообщения: 81
Зарегистрирован: Вс авг 26, 2007 14:45

Сообщение kadvlad »

Я пользуюсь такими кнопками (точнее, шорткатами через кнопки).
Брал здесь на форуме и в TCKB (спасибо авторам):

Упаковать:
RAR лежит в %PATH%, -hp = "шифровать имена файлов", "-m" = "степень сжатия", "-р" = "пароль на открытие", "-r" = "инфо для восстановления, %", "-v" = разбивать на части такого размера (байт).

Код: Выделить всё

TOTALCMD#BAR#DATA
rar.exe
a -hpPASSWORD1 -m5 -vSIZE_BYTES -rr3 -pPASSWORD2 "%O.rar" ""%N""
%Commander_path%\TOTALCMD.EXE,7
Pack Here

1
-1
Распаковать (см. путь к скрипту):

Код: Выделить всё

TOTALCMD#BAR#DATA
"%COMMANDER_PATH%\Plugins\UnpackHere.vbs"

%COMMANDER_PATH%\TOTALCMD.EXE,21
Unpack Here

1
-1
Скрипт "UnpackHere.vbs":

Код: Выделить всё

Option Explicit 
Dim TCS 
Set TCS=CreateObject("TCSCRIPT.Helper") 
TCS.Pause=100 
TCS.SendCommand "cm_UnpackFiles", False 
TCS.SendKeystroke "{DELETE}" 
TCS.SendKeystroke "{TAB 4}" 
TCS.SendKeystroke chr(32) 
TCS.SendKeystroke "{ENTER}" 
Set TCS = Nothing 
If WScript.Arguments.Count > 0 Then 
  Dim FSO, FileName, oFile, PathNew 
  Set FSO   = CreateObject("Scripting.FileSystemObject") 
  FileName  = WScript.Arguments(0) 
  Set oFile = FSO.GetFile(FileName) 
  PathNew   = oFile.ParentFolder & "\" & FSO.GetBaseName(FileName) & "\Old\" 
  If Not FSO.FolderExists(PathNew) Then 
FSO.CreateFolder(PathNew) 
  End If 
  oFile.Move(PathNew) 
  Set oFile = Nothing 
  Set FSO   = Nothing 
End If
WScript.Quit
Аватара пользователя
Йяхе
Сообщения: 32
Зарегистрирован: Вс июн 14, 2009 00:13

Сообщение Йяхе »

kadvlad, благодарю! Буду попробовать :)
Аватара пользователя
Йяхе
Сообщения: 32
Зарегистрирован: Вс июн 14, 2009 00:13

Сообщение Йяхе »

kadvlad, назначил скрипт на хоткей.
При запуске такая ошибка:
Изображение
kadvlad
Сообщения: 81
Зарегистрирован: Вс авг 26, 2007 14:45

Сообщение kadvlad »

Йяхе,
для работы скриптов необходима установка Script Helper (в архиве есть инструкция).
Аватара пользователя
_92
Сообщения: 398
Зарегистрирован: Ср ноя 23, 2005 15:31
Откуда: ufa

Сообщение _92 »

юзайте семьзэт
http://wincmd.ru/plugring/7zip_new.html
рар вчерашний день
ubuntu+tc+synwrite
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

_92
Людям лучше знать, какой архиватор их устраивает. А работа с 7-Zip обсуждается в отдельной теме форума, и там своих проблем хватает. И от подобных рекомендаций попрошу впредь воздержаться — они вполне подпадают под определения оффтопа и флуда.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Аватара пользователя
Йяхе
Сообщения: 32
Зарегистрирован: Вс июн 14, 2009 00:13

Сообщение Йяхе »

Со скриптом для распаковки получилось, спасибо.
Пытаюсь теперь упаковку сделать на хоткей.
Чего-то не идет :lol:
Изображение
Что тут не так?
kadvlad
Сообщения: 81
Зарегистрирован: Вс авг 26, 2007 14:45

Сообщение kadvlad »

смотри внимательней на параметры.
не указал архиватору, с чем работать.

из справки (F1):
%O - помещает в командную строку текущее имя файла без расширения.
%N - помещает в командную строку имя файла под курсором.
%T - вставляет текущий каталог назначения. Особенно полезно для упаковщиков
т.е. в параметры добавь:

Код: Выделить всё

a -m5 %T"%O.rar" ""%N""
Аватара пользователя
Йяхе
Сообщения: 32
Зарегистрирован: Вс июн 14, 2009 00:13

Сообщение Йяхе »

Поставил в параметры

Код: Выделить всё

a -m5 %T"%O.rar" ""%N""
При выполнении проскакивает досовое окно - rar.exe запускается, но архив не создается.
Что там пишет не успеваю увидеть.
kadvlad
Сообщения: 81
Зарегистрирован: Вс авг 26, 2007 14:45

Сообщение kadvlad »

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

Вообще, у меня rar.exe лежит в %PATH%, так меньше проблем.
Попробуй положить файл, например, в C:\Windows.
Тогда команда (первая строка) будет просто rar.exe

Ну, и ещё раз проверь пути, скобки, кавычки, пробелы.. Почитай справку, в конце концов :)
Аватара пользователя
Rodny
Сообщения: 949
Зарегистрирован: Ср янв 24, 2007 00:59
Откуда: Могилёв, Беларусь

Сообщение Rodny »

Йяхе
Путь запуска очисти.
И если не вполне владеешь синтаксисом команд, сначала из командной строки всё оттестируй (cmd запусти), там будешь сообщения видеть.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

kadvlad писал(а):надеюсь, ты понял, что архив создаётся в каталоге напротив? Т.е. в противоположной панели. И курсор должен стоять на архивируемом файле.
%T - Tab - другая панель, параметр не востребован, Alt+F5 никто не отменял. На RU.TCKB он не указан, что и логично.
Йяхе, твой случай:

Код: Выделить всё

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\DOSArc\rar.exe
a -m5 -s "%O.rar" %S
wcmicons.dll,30
Упаковать выделенные файлы в RAR-архив в исходный каталог с именем файла под курсором

1
-1
kadvlad
Сообщения: 81
Зарегистрирован: Вс авг 26, 2007 14:45

Сообщение kadvlad »

Flasher
Ну как же не востребован? Alt+F5 ведь просто вызвает диалог архивирования без специальных настроек, как в нашем случае (каталог назначения, сжатие, пароль, восстановление).
Насчёт %S и %N — согласен с тобой, так удобнее, когда несколько папок/файлов.
Аватара пользователя
ask-rus
Сообщения: 2077
Зарегистрирован: Вт ноя 10, 2009 14:06
Откуда: Russian Federation

Сообщение ask-rus »

kadvlad
В wincmd.ini можно задать эти настройки. Мои:

Код: Выделить всё

[Packer]
RAR=%COMMANDER_PATH%\PLUGINS\arc\Rar.exe -m5 -rr5p -t
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Ответить