View previous topic :: View next topic |
Author |
Message |
Lev
Joined: 02 Mar 2005 Posts: 392
|
(Separately) Posted: Fri Mar 14, 2008 18:39 Post subject: executor.wcx |
|
|
executor.wcx
Аналог Total Converter
Предназначен для выполнения заданных действий в зависимости от расширения файла и выдачи результата в виде содержимого архива.
Теоретически может использоваться для поиска заданного текста в файлах с помощью соответствующих конвертеров, при условии регистрации плагина на соответствующие расширения.
Масштабного тестирования не проводил, тестировал только на pdf файлах. Примеры использования - см. в ini.
---
0.0.0.2 - [+] добавлено ведение примитивного лога, лог будет писаться в файл executor.log в папке плагина
0.0.0.3 - [+] ShowConsole=1
[+] [executor_path] в ini
0.0.0.4 - [+] теперь в коммандной строке тоже поддерживаются [N] и [E]
[+] попытка приделать использование %переменных_окружения% в коммандной строке
Last edited by Lev on Mon Apr 14, 2008 16:50; edited 4 times in total |
|
Back to top |
|
|
Lev
Joined: 02 Mar 2005 Posts: 392
|
(Separately) Posted: Thu Mar 20, 2008 13:15 Post subject: |
|
|
Quote: | THX 2Lev!
Подключил executor и решил проблему с pdfimages. Отличный плагин, идеально дополняющий Multiarc, который с конвертерами не дружит.
Ложка дегтя: pdftohtml подключить так и не удалось. Я полагаю, здесь проблема та же, что и у Multiarca с упаковкой (Add): pdftohtml пытается запустить gswin32c.exe (Ghostscript) в текущей директории и не находит его, потому что executor меняет текущую директорию. Можно сделать (опцию?) так, чтобы текущей оставалась директория конвертера? , т.е. вызов pdftohtml должен произойти, например, таким образом:
Code: | cd %COMMANDER_PATH%\wcx\executor\xpdf
pdftohtml.exe -c e:\download\TC.pdf d:\!\doc\TC.htm |
И обязательно нужно добавить возможность вести лог, а то непонятно, что с какими путями подставляется в команду.
Короче весчь нужная, ждем новостей от аффтара ! |
pdftohtml на моей машине отсутствует и мне пока лень его разыскивать, скачивать, устанавливать, конфигурировать...
теоретически подключение должно выглядеть вот так:
Code: | [pdf]
fileout1="[N].htm"
command1=%COMMANDER_PATH%\wcx\executor\xpdf\pdftohtml.exe -c "filein" "fileout" |
путь к Ghostscript, должен быть в переменной окружения %PATH%
При написании плагина я совершенно не расчитывал, что он будет использоваться с конверторами создающими дополнительные папки и файлы, типа картинок для html файла, поэтому ничего по этому поводу сказать не могу.
создание лога запишу в ТуДу
можете еще ради интереса заглянуть в тему Multiarc, конверторы и поиск |
|
Back to top |
|
|
kotlomoy
Joined: 08 Mar 2008 Posts: 44
|
(Separately) Posted: Thu Mar 20, 2008 21:37 Post subject: |
|
|
Lev wrote: | pdftohtml на моей машине отсутствует и мне пока лень его разыскивать, скачивать, устанавливать, конфигурировать...
теоретически подключение должно выглядеть вот так: |
Да и не нужно, я уже все подключил и оно работает. Только Ghostscript не вызывается из-за проблемы с текущим путем
Lev wrote: | путь к Ghostscript, должен быть в переменной окружения %PATH% |
Да, я знаю, но задача стоит другая: нужно, чтобы все запускалось и работало на любом компьютере без лишних телодвижений по установке.
Ну что же, я решил пойти обходным путем и написать bat'ник, но столкнулся проблемами. Что-то Executor не желает с батниками работать... не знаю, в чем проблема, просто приведу два примера:
Code: | executor.ini:
command1=pdf xpdf\pdftotext.bat
pdftotext.bat:
"%COMMANDER_PATH%\wcx\executor 0001\pdf xpdf\pdftotext.exe" -layout "d:\_\hus.pdf" "d:\~\hus.txt" |
Все работает нормально
Code: | executor.ini:
command1=pdf xpdf\pdftotext.bat "filein" "fileout"
pdftotext.bat:
"%COMMANDER_PATH%\wcx\executor 0001\pdf xpdf\pdftotext.exe" -layout %1 %2 |
А в этом случае программа (pdftotext) запускается, но результата нет. О том, что программа запустилась известно потому, что задана озвучка запуска в звуковой схеме винды. Других индикаторов работы нет, так что ждем лог. И кстати следующая команда работает нормально:
Code: | command1=pdf xpdf\pdftotext.exe -layout "filein" "fileout" |
Хотел, чтобы %PATH% устанавливался перед запуском TC, через батник, но не знаю как задать путь к TC без переменной %COMMANDER_PATH%. Может кто-нибудь знает?
Lev wrote: | При написании плагина я совершенно не расчитывал, что он будет использоваться с конверторами создающими дополнительные папки и файлы, типа картинок для html файла, поэтому ничего по этому поводу сказать не могу. |
А я могу - все работает. Не вижу здесь проблемы, все что нужно - это запустить конвертер с корректными параметрами, а тот уже создает все нужные папки и файлы.
Lev wrote: | можете еще ради интереса заглянуть в тему Multiarc, конверторы и поиск |
Заглянул, тамо написано, как конвертировать файлы во временную папку, что мне не нужно. Во время своих мытарст с мультиарком написал почти то же самое. Кстати, я тоже не понимаю, почему расширение без пробела не присоединяется? _________________ BranchViewExtended |
|
Back to top |
|
|
Lev
Joined: 02 Mar 2005 Posts: 392
|
(Separately) Posted: Fri Mar 21, 2008 14:27 Post subject: |
|
|
добавил простенький лог, поправил ссылку в первом сообщении
--
SET PATH=c:\путь к ghostscript;%PATH% |
|
Back to top |
|
|
kotlomoy
Joined: 08 Mar 2008 Posts: 44
|
(Separately) Posted: Fri Mar 21, 2008 15:13 Post subject: |
|
|
В следующей версии нужно добавить ключ ShowConsole=1 - показать консоль.
Сейчас в логе можно увидеть команду запуска, а что происходит дальше, какие сообщения об ошибках выводит конвертер - все это неизвестно.
Lev wrote: | SET PATH=c:\путь к ghostscript;%PATH% |
В том то и проблема, что Ghostscript лежит в папках коммандера.
А коммандер лежит там, куда его положили, скопировав с флэшки, или лежит на флэшке. Так что даже буква диска неизвестна...
А хотя...
Вопрос: Как в bat-файле указать путь к самому bat-файлу? Может, есть какая переменная? Спрашиваю на случай, если кто-то сталкивался с такой проблемой _________________ BranchViewExtended |
|
Back to top |
|
|
kotlomoy
Joined: 08 Mar 2008 Posts: 44
|
(Separately) Posted: Fri Mar 21, 2008 19:38 Post subject: |
|
|
Спасибо за внимание к моей теме , жаль не сработало.
В общем, в результате экспериментов выяснилось, что
ShowConsole=1 - надо
Будем ждать... _________________ BranchViewExtended |
|
Back to top |
|
|
Lev
Joined: 02 Mar 2005 Posts: 392
|
(Separately) Posted: Fri Mar 21, 2008 20:04 Post subject: |
|
|
Сделал ShowConsole=1
только она быстренько закрывается :)
имхо стоит попробовать перенаправление вывода в файлик
типа:
Code: | command1=команда "filein" "fileout" > "aaa.log" |
сделал [executor_path] в ini файле (он уже со слешем на хвосте)
можно писать Code: | command1=[executor_path]команда "filein" "fileout" |
|
|
Back to top |
|
|
kotlomoy
Joined: 08 Mar 2008 Posts: 44
|
(Separately) Posted: Fri Mar 21, 2008 23:05 Post subject: |
|
|
Решил провести эксперимент.
1. Запускаем cmd
2. Проверяем переменную %PATH%:
Code: | D:\>echo %PATH%
"C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;;C:\PROGRA~1\ATITEC~1\A
TICON~1;C:\PROGRA~1\COMMON~1\AUTODE~1;D:\!progs\totalcmd\wcx\EXECUT~1\PDFXPD~1"
|
Видим, что последним прописан путь к gswin32c.exe (Ghostscript).
3. Запустим pdftohtml.exe для конвертации QS.PDF в QS.htm:
Code: | D:\>"D:\!progs\totalcmd\wcx\executor 0001\pdf xpdf\pdftohtml.exe" -c -noframe
s -hidden -enc UTF-8 "D:\_\QS.PDF" "D:\~\QS.htm"
Page-1
Page-2
.... (здесь выводится процесс генерации htm) ....
Page-72
'gswin32c' is not recognized as an internal or external command,
operable program or batch file.
Error: Failed to launch Ghostscript! |
gswin32c.exe не найден, картинки к QS.htm не сгенерировались...
В чем проблема, может в %PATH% прописан неправильный путь?
4. А давайте проверим:
Code: | D:\>cd D:\!progs\totalcmd\wcx\EXECUT~1\PDFXPD~1
D:\!progs\totalcmd\wcx\EXECUT~1\PDFXPD~1> |
Как видим, путь существует
5. Запустим pdftohtml еще раз:
Code: | D:\!progs\totalcmd\wcx\EXECUT~1\PDFXPD~1>"D:\!progs\totalcmd\wcx\executor 0001\p
df xpdf\pdftohtml.exe" -c -noframes -hidden -enc UTF-8 "D:\_\QS.PDF" "D:\~\QS
.htm"
Page-1
Page-2
.... (здесь выводится процесс генерации htm) ....
Page-72 |
Все работает нормально, html сгенерился вместе к картинками.
Почему? Что изменилось?
А изменилась только текущая директория, когда мы сделали cd
Вывод: pdftohtml не смотрит %PATH%, ему подавай gswin32c.exe, лежащий в текущей директории, т.е. в %CD%.
Думаю, для решения проблемы с pdftohtml, executor.wcx должен делать cd в папку конвертора.
P.S. Что касается версии 0.0.0.3:
Что же, консоль пропадает, так что толку от нее немного.
Пробовал перенаправлять вывод в файл. Не работает. Файл не создается вообще. А если бы создался, это помогло бы не очень, потому что сообщения об ошибках туда не выведутся - проверял вручную через cmd.
[executor_path] работает неправильно (если хотите, могу написать как), так что его лучше не использовать. Да и не нужен он, я просто пишу относительный путь и все работает , например:
Code: | command4=pdf xpdf\pdfimages.exe -j "filein" "fileout" |
_________________ BranchViewExtended |
|
Back to top |
|
|
Lev
Joined: 02 Mar 2005 Posts: 392
|
(Separately) Posted: Mon Mar 24, 2008 21:55 Post subject: |
|
|
0.0.0.4 - попытка приделать использование %переменных_окружения%
--
из опытов
пытался потестировать показ консоли с паузой (...|more)
пытался направить вывод в "fileout" (... > "fileout")
- особых результатов не добился
может у Вас чего толкового выйдет
--
зы Кстати, а чем вас не устраивает вариант с коммандой или скриптом просто прописанными на кнопку? И плагин мой тогда не понадобится. Ведь как я понял Вам требуется конверсия, а не просмотр файла "внутри" архива с его последующим удалением. Пакетная обработка туда тоже приделывается. |
|
Back to top |
|
|
kotlomoy
Joined: 08 Mar 2008 Posts: 44
|
(Separately) Posted: Tue Mar 25, 2008 01:30 Post subject: |
|
|
Lev wrote: | Кстати, а чем вас не устраивает вариант с коммандой или скриптом просто прописанными на кнопку? И плагин мой тогда не понадобится. |
Ну, во-первых, я кнопками не пользуюсь, и создание одной-единственной кнопки, персонально обслуживающей конкретный тип файла, ИМХО - извращение, также, как и создание специального шортката. Пока не припрет (а оно не припрет) к этим крайним мерам прибегать не буду.
Во-вторых, я не знаю формат команд для кнопок. Как туда вставить файл под курсором, путь неактивной панели? _________________ BranchViewExtended |
|
Back to top |
|
|
kotlomoy
Joined: 08 Mar 2008 Posts: 44
|
(Separately) Posted: Tue Mar 25, 2008 01:52 Post subject: |
|
|
По поводу консоли: Гислер не придумал ничего лучше запуска консоли через noclose.pif.
readme wrote: | Обычно при запуске консольного или DOS-приложения в Total Commander появляется консольное окошко, в котором выполняется запущенная программа, а после завершения работы это окошко закрывается. Это очень неудобно, если требуется просмотреть текст, выданный программой. Поэтому Total Commander позволяет запускать консольные приложения без закрытия окна консоли ... При таком способе запуска Total Commander выполняет командную строку вида:
Code: | noclose.pif /C <параметры> |
где <параметры> - это запускаемое вами приложение, возможно со своими параметрами. |
_________________ BranchViewExtended |
|
Back to top |
|
|
Lev
Joined: 02 Mar 2005 Posts: 392
|
(Separately) Posted: Tue Mar 25, 2008 14:09 Post subject: |
|
|
Quote: | Во-вторых, я не знаю формат команд для кнопок. Как туда вставить файл под курсором, путь неактивной панели? |
правый клик по любой кнопке - Change, и в появившемся диалоге сразу F1
файл под курсором - %P%N
путь неактивной панели - %M
и т.д. и т.п.
+ смотреть тему по кнопкам на форуме и в tckb, да и темы по скриптам не помешают. Имхо, чем большим количеством инструментов владеешь, тем оно лучше. |
|
Back to top |
|
|
kotlomoy
Joined: 08 Mar 2008 Posts: 44
|
(Separately) Posted: Wed Mar 26, 2008 20:39 Post subject: |
|
|
Пошел на компромисс: вставил команду вызова pdftohtml в меню. Но с плагином бы лучше было _________________ BranchViewExtended |
|
Back to top |
|
|
m7876
Joined: 11 Apr 2008 Posts: 8
|
(Separately) Posted: Sat Apr 12, 2008 23:13 Post subject: |
|
|
Спасибо за плагин! Хорошо работает с TeX, конкретно с pdflatex, тогда как Total Converter мне так и не удалось победить.
Из пожеланий: написать коротенькую справку. |
|
Back to top |
|
|
Lev
Joined: 02 Mar 2005 Posts: 392
|
(Separately) Posted: Mon Apr 14, 2008 16:49 Post subject: |
|
|
Коротенькая справка написана, плаг закинул на wincmd.ru |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|