Страница 1 из 1

Параметры строки при создании архивов

Добавлено: Сб ноя 22, 2008 19:15
equinox
Здравствуйте все.
При использовании архиваторных плагинов возник вопрос: а можно ли назначить на горячие клавиши отдельные виды архиваторов? Например, на Ctrl + F5 - WinRar, Ctrl + F6 - gzip и так далее. Команда одна - cm_PackFiles, но можно ли ей передавать какие-либо параметры? Собственно, вопрос возник оттого, что захотел назначить на сочетание Alt+Del архиваторный плагин Wipe, который производит затирание файлов и каталогов.

Добавлено: Сб ноя 22, 2008 23:39
D1P
Внешние архиваторы - можно.
Архиваторные плагины - нельзя.

Добавлено: Сб ноя 22, 2008 23:47
equinox
D1P писал(а):Внешние архиваторы - можно.
Архиваторные плагины - нельзя.
Жаль. Можно подробнее? Например, для zip и Rar (хочу отдельные клавиши на *.gz и *.rar архивы)
И другой вопрос: можно ли передать через параметр список выделенных файлов во внешнюю wipe-утилиту (например, Eraser). Пробовал так:

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

cmd=""%COMMANDER_PATH%\Utils\Eraser\Eraserl.exe" -file %S -subfolders -silent -queue -method DoD"
но ничего не вышло - ругается, что
File not found. Nothing to erase. (%S)

Добавлено: Вс ноя 23, 2008 10:10
D1P
Можно подробнее?
Как понял, вопрос про упаковку. Показываю на примере RAR для *.rar соответственно.
Конфигурация-Разное-Переопределить горячие клавиши-Клавиша.
Указываем требуемое сочетание клавиш. Существующие сочетания, вроде Alt+F5 можно переназначать, если хочется.
Жмём на кнопку с лупой, в категориях выбираем usercmd.ini, жмём кнопку "Новая", забиваем имя em_PackRar. Ок. Вводим в поля:
Команда: путь к WinRar.exe
Параметры: требуемые параметры командной строки для rar, например a c:\archive @%L. Здесь подробно останавливаться не буду - всё расписано в справке rar и TC.
Остальное трогать не нужно, применяем все изменения. Пользуемся.
можно ли передать через параметр список выделенных файлов во внешнюю wipe-утилиту
Зависит от того, с какими параметрами работает эта утилита. Боюсь ошибиться, но мне кажется, что в данном случае просто неправильно составлена командная строка: не нужны крайние кавычки (из-за них параметры интерпретируются как текст, вместе с переменной %S. Ну и параметры лучше вбивать в отдельно для этого предназначенное поле, а не вместе с командой.

Добавлено: Вс ноя 23, 2008 16:05
equinox
Да, ваша правда, все так и оказалось со строкой в Eraser'e.
Но теперь другая проблема. Вот код ползовательской команды, привязаной на Alt+Del:

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

[em_wipe]
button=%COMMANDER_PATH%\Utils\Eraser\Eraserl.exe
cmd=""%COMMANDER_PATH%\Utils\Eraser\Eraserl.exe""
path=%COMMANDER_PATH%\Utils\Eraser\
menu=Eraser
param=-file "%S" -method DoD -resultsonerror
Если оставить %S, то передается имя файла без кавычек. Если же файлов несколько, то выдается ошибка в синтаксисе команды.
Если же ставить %L, тоже ничего не удаляется, хотя окно процесса удаления мелькает. При этом ссылается на файлы типа "%Temp%\%прозвольное_имя%.TMP", где %Temp% - каталог для временных файлов.
P. S. Для одного файла работает сочетание %P%S, но ведь нужно и несколько сразу удалять, а тогда выходит ошибка

Добавлено: Вс ноя 23, 2008 20:16
D1P
equinox писал(а):Да, ваша правда, все так и оказалось со строкой в Eraser'e.
Но теперь другая проблема. Вот код ползовательской команды, привязаной на Alt+Del:

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

[em_wipe]
button=%COMMANDER_PATH%\Utils\Eraser\Eraserl.exe
cmd=""%COMMANDER_PATH%\Utils\Eraser\Eraserl.exe""
path=%COMMANDER_PATH%\Utils\Eraser\
menu=Eraser
param=-file "%S" -method DoD -resultsonerror
Если оставить %S, то передается имя файла без кавычек. Если же файлов несколько, то выдается ошибка в синтаксисе команды.
Если же ставить %L, тоже ничего не удаляется, хотя окно процесса удаления мелькает. При этом ссылается на файлы типа "%Temp%\%прозвольное_имя%.TMP", где %Temp% - каталог для временных файлов.
P. S. Для одного файла работает сочетание %P%S, но ведь нужно и несколько сразу удалять, а тогда выходит ошибка
Опять же нужно смотреть справку к Eraser - в каком формате он принимает список файлов. А потом смотреть справку TC, чтобы найти нужный параметр.
%L - список имён внутри создаваемого TC временного файла, очевидно, что Eraser в таком формате список не примет. %S даёт список одной строкой через пробел, и кавычки там подставялются автоматически для каждого файла (если в его имени есть пробел).
В общем, не имея под рукой описания входных параметров Eraser, я конкретный ответ дать не смогу.

Добавлено: Вс ноя 23, 2008 23:03
equinox
D1P
спасибо за ответы. Видимо, нужны обходные пути в виде плагов или скриптов. У eraser'a вроде бы есть формат *.res - списки файлов. Но мне не удалось их создать из обычного текстового списка.