Redirector 1.3
Скриншот программы Redirector
Redirector - небольшая утилита, открывающая файлы в разных программах в зависимости от их расширений. Изначально создавалась для личных нужд для использования совместно с файловым менеджером Total Commander, так как имеющиеся аналоги меня не устраивают. Позволяет объединять расширения в группы, запускать основной или альтернативный редактор для обычных и временных файлов, а также указывать дополнительные параметры командной строки для них. Программа портативная и не оставляет никаких следов своей деятельности в системе. Настройки хранятся в файле конфигурации redirector.ini, там же приведено их подробное описание с примерами.
Важные замечания. При открытии файла из временного каталога Total Commander, например, при редактировании файлов в архиве или при загрузке их по FTP, копия Redirector будет оставаться в памяти и ожидать закрытия редактора. Это сделано для того, чтобы файловый менеджер не удалял загруженный или извлеченный файл до окончания его редактирования.
Redirector в качестве параметров может принимать более одного файла, соответственно, для каждого из них будет запущена своя программа. Для открытия выделенных файлов через Redirector в Total Commander вынесите значок на панель запуска и используйте параметры %P%S для передачи файлов по одному, также доступны ключи /LF=%L, /LF=%WL или /LF=%UL для передачи файлов списком.
Для тестирования и отладки вы можете использовать лог-файл, он будет создаваться в папке с программой и называется redirector.log
Основные настройки программы Redirector:
default_editor - путь к файлу редактора, который используется по умолчанию. Поддерживаются переменные окружения.
wait_for_file - время ожидания файла в миллисекундах. Эта опция предназначена для работы с файлами, которые извлекаются из архивов, скачиваются во временные папки с FTP и т.п., то есть которые могут быть созданы с некоторой задержкой. В течение этого времени Redirector будет опрашивать файловую систему на предмет наличия файла, и, когда он появится, запустит редактор. Если по истечении этого времени файл не будет доступен, то Redirector завершится с ошибкой.
write_log_file - вести лог-файл (1 - да, 0 - нет). Опция очень полезна для сохранения истории открытия файлов и отладки действий.
empty_as_default - использовать дефолтный редактор (опция default_editor) при открытии файлов, для которых задана опция "Открывать файлы системным обработчиком", однако в системе он не указан.
Настройки расширений задаются в следующем формате: расширение = имя_группы или расширение = команда. Имя группы может состоять из латинских символов. Несколько расширений можно указывать в одну строку, разделяя вертикальной чертой "|", пробелы и другие разделители не допускаются. В расширениях можно указывать маски: "?" - любой символ (отсутствие символа под эту маску не попадает) и "*" - любое количество символов (допускается только в конце расширения). Команды - это инструкции для особой обработки такого расширения, пока их две: "*" - открывать файл системным обработчиком, "!" - пропускать файлы такого типа. Посмотрите примеры в файле конфигурации.
В определениях групп имя секции группы формируется по принципу [group_ИМЯ], где "ИМЯ" соответствует описанию группы в блоке расширений. Параметры группы:
open - путь файла основного редактора. Поддерживаются переменные окружения. Это обязательный параметр.
param - дополнительные параметры командной строки для редактора, вместо "%s" будет подставлено имя открываемого файла. Поддерживаются переменные окружения. Если это значение не указано, то в качестве параметра будет просто имя открываемого файла.
open_tmp - путь файла альтернативного редактора. Он будет применяться если файл открывается во временной директории Total Commander (определяется по наличию строки "\_tc\" в пути). Формат записи аналогичен параметру open. Если этот параметр не указан, то в качестве альтернативного редактора используется основной. Так, например, при редактировании локальных файлов используется полнофункциональная многовкладочная IDE, а для редактирования файлов с сервера запускается более шустрый блокнотик.
param_tmp - дополнительные параметры командной строки для запуска альтернативного редактора. Формат записи аналогичен параметру param. Если альтернативный редактор не указан, то этот параметр игнорируется.
Настройки WLX-плагина
Начиная с версии 1.3 добавлен WLX-плагин для файлового менеджера Total Commander. С его помощью можно подключить Redirector в качестве программы для просмотра любых файлов. Плагин переадресовывает запрос на основной файл redirector.exe, который должен находиться в папке с плагином. Настройки обрабатываемых расширений делаются в файле WINCMD.INI или при добавлении плагина. Синтаксис соответствует настройкам Total Commander'а, вы можете ознакомиться с ним в разделе справки или на профильных ресурсах. Обработчики программы Redirect настраиваются как описано выше.
Просмотров: 11355 | Комментариев: 21
Метки: мои программы, система
Комментарии
Отзывы посетителей сайта о статье
ManHunter
(10.07.2018 в 13:06):
Небольшая доработка по определению временной папки новых версий Total Commander. Архив обновлен.
Staniclaw
(26.11.2016 в 22:33):
Предложение по усовершенствованию: можно ли доработать программку таким образом, чтобы она запускала не ассоциированную с расширением переданного ей файла, а назначенный там же редактор? То есть, запускала бы действие не open, а edit; ну, а если такого действия для данного типа файлов не прописано, пусть запускает программу, подписанную в ключе default_editor.
NezloY
(10.10.2016 в 23:57):
Супер! Как раз искал не так давно что-то похожее, но остановился тогда на варианте с модификаторами. Спасибо за тулзу )
ManHunter
(05.10.2016 в 12:10):
Версия 1.2. Полная поддержка юникода, поддержка списка файлов в разной кодировке, возможность задавать расширения wildcard'ами и списками, запускаемому приложению передается окружение родительского процесса.
ManHunter
(29.05.2016 в 12:41):
Юникод я уже поправил, проброс текущей директории и окружения тоже. Листинг в процессе. К концу лета, наверное, будет релиз. Может позже, не знаю.
Skif_off
(29.05.2016 в 10:05):
[quote]посмотрю, что там не так с юникодом.[/quote]
ManHunter, не открывается файл с умляутами в полном имени, типа "einige_b?rgerliche_name".
ManHunter, не открывается файл с умляутами в полном имени, типа "einige_b?rgerliche_name".
ManHunter
(20.05.2016 в 07:24):
Через неделю вернусь из отпуска и обязательно посмотрю, что там не так с юникодом.
Skif_off
(20.05.2016 в 01:59):
ManHunter, нет ли в планах заменить используемые функции WinAPI на их юникодный аналог?
ManHunter
(27.06.2014 в 21:04):
Грани здравого смысла тоже переходить не надо. Такие вещи, как ты описал, делаются по индивидуальному заказу, за деньги, в штучном варианте и уж точно не в рамках этой программы. Если запуск разных программ с разными клавишами был бы действительно интересен, то распознавание родительских процессов мне точно не нужно. Обратись на какой-нибудь фриланс.ру, там наверняка найдутся исполнители за разумную цену.
gris
(27.06.2014 в 19:05):
Спасибо.
Да, заметил уже что единственным здравым вариантом может быть Ctrl, что в проводнике что в TC. Я хотел это использовать в другом менеджере, где Alt также оказался жестко занят, но Ctrl свободен.
Правда, в TC у меня по-разному работают Ctrl+даблклик (редактирование) и Ctrl+Enter (вставка имени файла). Не знаю, настраивается ли это. В общем, даже при таких ограничениях, лично я бы пользовался.
Есть ещё идея: отталкиваться от имени программы, из которой был совершён запуск. Пример с TC - если родительский процесс - tc.exe - запускаем 7z, иначе - WinRAR. Можно позволить и несколько таких правил добавлять, наверное.
Да, заметил уже что единственным здравым вариантом может быть Ctrl, что в проводнике что в TC. Я хотел это использовать в другом менеджере, где Alt также оказался жестко занят, но Ctrl свободен.
Правда, в TC у меня по-разному работают Ctrl+даблклик (редактирование) и Ctrl+Enter (вставка имени файла). Не знаю, настраивается ли это. В общем, даже при таких ограничениях, лично я бы пользовался.
Есть ещё идея: отталкиваться от имени программы, из которой был совершён запуск. Пример с TC - если родительский процесс - tc.exe - запускаем 7z, иначе - WinRAR. Можно позволить и несколько таких правил добавлять, наверное.
ManHunter
(15.06.2014 в 11:35):
gris, вижу, что мониторишь тему, поэтому вот что я надумал. Отслеживать состояние всяких Alt, Ctrl и прочего - технически ничего сложного, выполнять действия на основании их состояния тоже не проблема. Проблема в поведении системы при нажатии этих кнопок во время запуска программ.
Ctrl+клик на исполняемом файле = ничего. Alt+клик на файле = окно со свойствами файла. Shift+клик на файле = запуск файла через консольку. При редактировании файла поведение еще веселее. Shift+F4 - выбор имени редактируемого файла, Alf+F4 - понятно, Ctrl+F4 - редактирование, и это единственное, что можно использовать. По крайней мере Total Commander ведет себя именно так. Так что ничего из этой затеи не выйдет, увы. Хотя мысль все равно интересная.
Ctrl+клик на исполняемом файле = ничего. Alt+клик на файле = окно со свойствами файла. Shift+клик на файле = запуск файла через консольку. При редактировании файла поведение еще веселее. Shift+F4 - выбор имени редактируемого файла, Alf+F4 - понятно, Ctrl+F4 - редактирование, и это единственное, что можно использовать. По крайней мере Total Commander ведет себя именно так. Так что ничего из этой затеи не выйдет, увы. Хотя мысль все равно интересная.
ManHunter
(30.05.2014 в 23:46):
Хорошая мысль, подумаю.
gris
(30.05.2014 в 23:35):
Возможно ли добавить обработчик клавиш-модификаторов для запуска альтернативных программ? Например, стандартный запуск zip и rar - через 7z, а запуск их же с зажатой клавишей Alt - через WinRAR.
На всякий случай поясню когда это может быть полезно: имеется потребность обрабатывать одни и те же файлы (или файлы с одинаковым расширением) но с помощью разных редакторов, желательно быстро (без мыши и без траты времени на раскрытие контекстного меню для запуска альтернативной программы). Порой возникает потребность использовать аж 3 разных программы на 1 типе файлов.
Не хочу показаться попрошайкой, но до сих пор не нашёл ничего подобного с таким функционалом. TC не использую.
На всякий случай поясню когда это может быть полезно: имеется потребность обрабатывать одни и те же файлы (или файлы с одинаковым расширением) но с помощью разных редакторов, желательно быстро (без мыши и без траты времени на раскрытие контекстного меню для запуска альтернативной программы). Порой возникает потребность использовать аж 3 разных программы на 1 типе файлов.
Не хочу показаться попрошайкой, но до сих пор не нашёл ничего подобного с таким функционалом. TC не использую.
ManHunter
(17.01.2014 в 11:40):
Тем, что написана не мной :) Шутка. На самом деле мне было важно сделать возможность раздельного редактирования файлов на локальном компе и при работе с файлами на хостинге. Расширение по сути одно, но при этом файл должен обрабатываться разными редакторами в зависимости от того, открыт он во временной папке Тотала или редактируется в плановом режиме. Окно с выбором редактора для меня не вариант.
Эта программа подразумевает, что пользователь в состоянии ее настроить под себя, что уже является подтверждением определенного уровня знаний. "Из коробки" она вряд ли будет работать правильно.
X-Wing Top Ace
(17.01.2014 в 11:33):
Малость придерусь к терминологии - точнее говоря, обрабатывающая файлы разными программами в зависимости от расширения. Или, если по хакерской фене, то натравляющая на филе разные проги по расширению. ;)
Это, конечно, уже придирка, но не пустая - мы оба прогеры и знаем разницу между открытием файла, загрузкой файла (в смысле, не по сети, а локально в прикладуху), запуском проги, входом в каталог, установкой коннекта. А юзера не знают и наступают на грабли. ;) Сейчас все эти операции называются словом "открыть", хотя именно к открытию не сводятся и приводит это "всеоткрытие" к накладкам вроде описанной на ITHappens'е в истории "Будем вешать Офис".
А вообще спасибо за прогу, хотя сам пользую не везде - ChoiceEditor также хорошая штука. Кстати, чем именно он не устраивает вас?
Версию 1.1 Redirector'а скачал раньше, чем дописАл эту мессагу.
ManHunter
(17.01.2014 в 00:36):
Добавлена поддержка временных файлов Total Commander 8.5x, сделано несколько мелких доработок и улучшений.
ManHunter
(02.09.2013 в 11:11):
Программа делалась в первую очередь под Total Commander, там есть возможность передавать сразу несколько выделенных файлов. В проводнике, в принципе, тоже должно работать. Плюс программа-приемник должна уметь обрабатывать несколько файлов в командной строке.
миха
(02.09.2013 в 09:56):
отличная замена команде "открыть с помощью". правда пришшлось её полностью перенастроить под себя и заметил, что она не открывает несколько файлов одновременно, только по одному.
ManHunter
(08.08.2011 в 22:45):
Да хоть где можно использовать. Можно, например, встроить в Проводник в меню "Отправить..." Просто в TC смотрится как-то более гармонично :)
Isaev
(08.08.2011 в 21:07):
Она только с TC может работать?
Или можно просто в винде использовать?
Или можно просто в винде использовать?
ManHunter
(08.08.2011 в 11:01):
Добавлен еще один вариант временного каталога Total Commander, архив обновлен.
Добавить комментарий
Заполните форму для добавления комментария