View previous topic :: View next topic |
Author |
Message |
Loopback
Joined: 07 Sep 2009 Posts: 1274
|
(Separately) Posted: Thu Mar 10, 2011 11:30 Post subject: |
|
|
MVV wrote: | Думаю, можно не утруждать себя парсингом кучи имен в одной команде, нагляднее будет, если будет несколько строчек с TerminateProcess. |
Как раз несколько штук парсить - не проблема. И никто не мешает использовать несколько команд с одним параметром.
MVV wrote: | А вот поддержка масок бы скорее всего не помешала. |
Посмотрим.
MVV wrote: | Еще, думаю, могла бы быть полезной функция убийства процесса по заголовку или классу окна. Хотя, для решения таких задач есть более специализированные решения. |
Ну как бы да, второй Autoit писать не хочется. |
|
Back to top |
|
|
HA3APET
Joined: 22 Feb 2010 Posts: 151
|
(Separately) Posted: Thu Mar 10, 2011 14:17 Post subject: |
|
|
MVV wrote: | Неужели появляющаяся на секунду кнопка панели задач так мозолит глаза? |
Свёрнутый батник висит на протяжении всей работы с ТС, или вы задумывали не так? |
|
Back to top |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
(Separately) Posted: Thu Mar 10, 2011 14:33 Post subject: |
|
|
HA3APET wrote: | MVV wrote: | Неужели появляющаяся на секунду кнопка панели задач так мозолит глаза? |
Свёрнутый батник висит на протяжении всей работы с ТС, или вы задумывали не так? |
Конечно не так. Если батник завершает работу, его окно должно закрываться. И вообще, я ничего не задумывал, это всё лежит на системе.
Проги из батника надо запускать командой start (start "" "x:\path\to\program.exe"), чтобы они запускались в фоне, иначе батник будет ожидать их завершения.
Также надо убрать команды pause из батника, вставленные для наглядности. _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|
Back to top |
|
|
HA3APET
Joined: 22 Feb 2010 Posts: 151
|
(Separately) Posted: Thu Mar 10, 2011 15:13 Post subject: |
|
|
MVV
pause конечно убрал, а вот запускал не через start, спасибо теперь всё ок. Ещё перевёл bat в exe и наконец то добился чего хотел.
Обнаружилась одна проблема. Если открыть TC и перейти в Сеть/FS-плагины, то батник не отрабатывает второй раз при закрытии ТС, а следовательно программа не закрывается.
Code: | @echo off
title Starter
if -%1==-0 goto starter_load
if -%1==-1 goto starter_unload
goto :EOF
:starter_load
start "" "%commander_path%\Camper.exe"
echo Loading...
goto :EOF
:starter_unload
taskkill /T /IM Camper.exe
echo Unloading...
goto :EOF |
|
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Thu Mar 10, 2011 16:49 Post subject: |
|
|
Loopback wrote: | Можно, но просто не хочется тратить время на временные решения. | Всё-таки возмёшься за autorun? Просто с библиотекой всё вышло бы значительно быстрее. Ну, смотри.
Loopback wrote: | Не лучше, потому что неудобно с точки зрения парсинга. | Почему? После оригинального тега парсишь построчно. А ты предлагаешь всё в одну строку пихнуть, или перенос строки будет также учитываться как завершающий строку с параметрами ключ? |
|
Back to top |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
(Separately) Posted: Thu Mar 10, 2011 17:23 Post subject: |
|
|
HA3APET wrote: | Обнаружилась одна проблема. Если открыть TC и перейти в Сеть/FS-плагины, то батник не отрабатывает второй раз при закрытии ТС, а следовательно программа не закрывается. |
Не знаю, это не должно влиять на то, как система выгружает процессы.
А если вернуть оригинал, который запускает батник, и оригинальный батник из архива, его кнопка будет появляться на панели задач при закрытии тотала? _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|
Back to top |
|
|
Loopback
Joined: 07 Sep 2009 Posts: 1274
|
(Separately) Posted: Thu Mar 10, 2011 20:54 Post subject: |
|
|
Flasher wrote: | Всё-таки возмёшься за autorun? Просто с библиотекой всё вышло бы значительно быстрее. Ну, смотри. |
Да вроде как спешки-то и нет. Жили же без этой функции?
Flasher wrote: | Почему? После оригинального тега парсишь построчно. |
Потому что так сделан парсер. Одна строка - одна команда. Это кардинально упрощает парсинг. С разбиванием гемора не оберешься, да и не нравится мне так.
Flasher wrote: | А ты предлагаешь всё в одну строку пихнуть, или перенос строки будет также учитываться как завершающий строку с параметрами ключ? |
Выше уже с MVV обговаривали этот момент. Хочешь - несколько параметров в одной команде, хочешь - несколько команд. Может еще как-нибудь, но без многострочности. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Thu Mar 10, 2011 20:59 Post subject: |
|
|
Loopback wrote: | Да вроде как спешки-то и нет. Жили же без этой функции? | Как и без всего остального, и без autorun-a в своё время...
Loopback wrote: | Хочешь - несколько параметров в одной команде, хочешь - несколько команд. Может еще как-нибудь, но без многострочности. | А если я хочу несколько команд с параметрами, тогда что? Без многострочности - плохо для конечного юзера. Правка одной строки крайне неудобна, даже с переносом в редакторе. Неужели так трудно обрабатывать 0Ah? |
|
Back to top |
|
|
Loopback
Joined: 07 Sep 2009 Posts: 1274
|
(Separately) Posted: Thu Mar 10, 2011 21:19 Post subject: |
|
|
Flasher wrote: | Как и без всего остального, и без auotrun-a в своё время... |
Ну так появился же. Всё появится, рано или поздно, так или иначе...
Flasher wrote: | А если я хочу несколько команд с параметрами, тогда что? |
И в чем проблема? Записываешь несколько команд с параметрами.
Flasher wrote: | Без многострочности - плохо для конечного юзера. Правка одной строки крайне неудобна, даже с переносом в редакторе. Неужели так трудно обрабатывать 0Ah? |
Для многострочности есть Autoit, AHK, VBS и куча других полноценных скриптовых языков. Autorun на это звание не претендует.
В Autorun конец строки является однозначным маркером завершения команды. Если ограничение убрать, что парсер должен делать в такой ситуации?
Code: |
ShellExec "program.exe"
bla "my dir"
|
Считать bla "my dir" продолжением команды или ошибочной строкой с мусором? |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Thu Mar 10, 2011 21:26 Post subject: |
|
|
Loopback wrote: | И в чем проблема? Записываешь несколько команд с параметрами. | И как же парсер отличит exe/bat/au3/vbs/... в качестве параметра от команды?
Loopback wrote: | Считать bla "my dir" продолжением команды или ошибочной строкой с мусором? | Если это параметр, то строкой с мусором, он же не на одной строке с program.exe. |
|
Back to top |
|
|
Loopback
Joined: 07 Sep 2009 Posts: 1274
|
(Separately) Posted: Thu Mar 10, 2011 21:45 Post subject: |
|
|
Flasher wrote: | И как же парсер отличать exe/bat/au3/vbs... в качестве параметра от команды? |
Эээ. Ты вообще про что? Мы же вроде про команду завершения процессов говорили. Какие еще параметры?
Flasher wrote: | Если это параметр, то Строкой с мусором, не на одной строке же с program.exe. |
Не катит. Любая команда/функция должна иметь маркер начала и маркер конца. Без этого парсер не поймет, где заканчиваются данные, относящиеся к этой команде, особенно это критично для команд с необязательными параметрами. В Autoit маркером конца является закрывающая скобка ), в Autorun - перевод строки.
На этом предлагаю закрыть тему с многострочностью. В существующем виде я все равно не вижу пути ее реализации. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Thu Mar 10, 2011 22:02 Post subject: |
|
|
Loopback wrote: | Эээ. Ты вообще про что? Мы же вроде про команду завершения процессов говорили. Какие еще параметры? | Ты сам про них написал. Я так понял, что ты имел в виду существующий парсер для ShellExec. Вот я и спрашиваю, как парсер при написании путей к exe-файлам в кач. параметра отличит их от путей к вызываемым прогам, если и те и другие написаны в одну строку?
Loopback wrote: | Не катит. Любая команда/функция должна иметь маркер начала и маркер конца. Без этого парсер не поймет, где заканчиваются данные, относящиеся к этой команде, особенно это критично для команд с необязательными параметрами. В Autoit маркером конца является закрывающая скобка ), в Autorun - перевод строки. | Так придумай новые маркеры. Сделай, чтобы для списка программ использовался перевод строки в качестве разделителя, а для основной команды открывающий и закрывающий маркер, например, символ "&". |
|
Back to top |
|
|
Loopback
Joined: 07 Sep 2009 Posts: 1274
|
(Separately) Posted: Thu Mar 10, 2011 22:08 Post subject: |
|
|
Flasher wrote: | Так придумай новые маркеры |
Это приказ? |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Thu Mar 10, 2011 22:11 Post subject: |
|
|
Это предложение, которого может очень качественно отразиться на юзабильности при добавлении утилит/программ к общему списку.
А её лучше начинать новую команду autorun-a с "кавычка + перевод строки", но списки обрабатывать по "новый маркер + перевод строки". Как такая мысль? |
|
Back to top |
|
|
Loopback
Joined: 07 Sep 2009 Posts: 1274
|
(Separately) Posted: Thu Mar 10, 2011 22:36 Post subject: |
|
|
Ради 1 (одной) функции (которой, кстати, еще даже нет) и удобства работы со списком из десятка программ, ты мне предлагаешь убить не один час работы, полностью изменить идеологию работы плагина и похоронить прозрачность работы с ним. Я пока к этому не готов. |
|
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
|