View previous topic :: View next topic |
Author |
Message |
_Johm
Joined: 14 May 2006 Posts: 119
|
(Separately) Posted: Tue Feb 02, 2010 21:01 Post subject: Выполнить(run) передача параметра в ярлык (lnk) c параметром |
|
|
Пристрастился я к WinKey+R (RUN, выполнить) таким образом:
добавляю к переменной среды PATH путь к папке RUNBOX (где
ярлыки ссылающиеся на программы и скрипты vbs, js)
[отступление] по идее, я думал, что можно в RUNBOX
класть сами скрипты , но почему-то они не вызываються через
RUN, хотя, как я понимаю, они дожны, так как эти расширения
присутствуют в переменной среды PATHEXT;
но у меня не работает.
в скрипты я так же передаю аргументы, например, скрипт запускает
TheBat и передает мастер пароль. Эта конструкция работает -
lnk на vbs плюс параметр, но ограниченность функционала vbscript
относительно ожидания окон для передачи чего-нибудь, заставила
меня посмотреть в сторону AutoIt, и вот тут возникла проблема
в lnk, где в строке "объект" должно быть ссылка на autoit.exe c
параметром-скриптом au3, и во все это нужно передать
параметр-пароль через RUN).
Не срабатывает.
PATH=D:\TOTAL\RUNBOX;C:\WINDOWS...
D:\TOTAL\SCRIPTS\
thebat.au3
AutoIt3.exe
D:\TOTAL\RUNBOX\
thebat.lnk ссылаться на autoit.exe c параметром thebat.au3
ярлык должен запускаться через RUN c параметром
"объект" ярлыка:
%COMMANDER_PATH%\SCRIPTS\AutoIt3.exe thebat.au3
или
%COMMANDER_PATH%\SCRIPTS\AutoIt3.exe %COMMANDER_PATH%\SCRIPTS\thebat.au3
так не работает.
Тут что-то с логикой, переменными среды в ОС, чего я не знаю.
Возможно ли сделать такую схему работоспособной?
Можно конечно компилировать au3 в exe, но гибкость пропадет.
Можно поменять заголовок, если есть идея как сформулировать |
|
Back to top |
|
|
Venclav
Joined: 12 Apr 2009 Posts: 3 Location: Оркск
|
(Separately) Posted: Tue Feb 02, 2010 21:09 Post subject: |
|
|
%COMMANDER_PATH% действует только в среде Тотала. Винда (глобально) об этой переменной не знает.
Попробуй задать жестко в системных переменных путь к Тоталу.
Так и есть: работает!
_Johm wrote: | [отступление] по идее, я думал, что можно в RUNBOX
класть сами скрипты , но почему-то они не вызываються через
RUN, хотя, как я понимаю, они дожны, так как эти расширения
присутствуют в переменной среды PATHEXT;
но у меня не работает. |
Скрипты вызываются… _________________ Коркодил |
|
Back to top |
|
|
_Johm
Joined: 14 May 2006 Posts: 119
|
(Separately) Posted: Tue Feb 02, 2010 21:32 Post subject: |
|
|
vbs через lnk в RUN у меня работают с параметром.
А про %COMMANDER_PATH%, думал писать- не писать и
не написал, у меня эта переменная среды, так же задана
через SET, представим что в первом посте, вместо
%COMMANDER_PATH% любая другая переменная %MYDIR%
К тому же, если в lnk использовать %COMMANDER_DRIVE% или
%COMMANDER_PATH% все будет работать
например lnk c %COMMANDER_PATH%\PROGS\PROFILE\abook\Ab.exe
работает и даже без этой переменной, заданой через SET |
|
Back to top |
|
|
_Johm
Joined: 14 May 2006 Posts: 119
|
(Separately) Posted: Tue Feb 02, 2010 21:34 Post subject: |
|
|
Не вызываются скрипты через RUN без расширения.
нужно писать somescript.vbs, когда с lnk, exe, cmd, bat
можно ввести просто somescript |
|
Back to top |
|
|
_Johm
Joined: 14 May 2006 Posts: 119
|
(Separately) Posted: Thu Feb 04, 2010 20:34 Post subject: |
|
|
[решено]
Исправляю свою ошибку. Хотя от части был прав:
Переменную COMMANDER_PATH, не заданную через SET,
можно использовать в vbscript'ах, интерпритатор ее
разворачивает, но AutoIt3.3.4 этим похвастаться не может,
то есть,
lnk, ссылающийся на vbscript, запущенный с параметром через
"Выполнить", отработает
Code: | объект ярлыка:
[%COMMANDER_PATH%\SCRIPTS\thebat.vbs |
где в самом thebat.vbs присутствует COMMANDER_PATH,
но
с AutoIt это не прокатит, запинка происходит в самом
скрипте au3 - не разворачивает переменную
COMMANDER_PATH.
Если, явно задать COMMANDER_PATH через SET, то
такое:
Code: | объект ярлыка bat.lnk
%COMMANDER_PATH%\SCRIPTS\autoit\AutoIt3.exe "thebat.au3" | работает.
Например,
WinKey+R
воодим
Запускается bat.lnk на AutoIt3.exe thebat.au3 somepassword |
|
Back to top |
|
|
tarbo
Joined: 10 Feb 2010 Posts: 2
|
(Separately) Posted: Wed Feb 10, 2010 11:53 Post subject: |
|
|
_Johm wrote: | Не вызываются скрипты через RUN без расширения.
нужно писать somescript.vbs, когда с lnk, exe, cmd, bat
можно ввести просто somescript |
посмотрите значение переменной %PATHEXT% |
|
Back to top |
|
|
_Johm
Joined: 14 May 2006 Posts: 119
|
(Separately) Posted: Wed Feb 10, 2010 15:08 Post subject: |
|
|
Она наверно у всех такая:
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
Я говорю про то, что даже так скрипт через RUN-диалог нужно все
равно вызвать с расширением.., то есть экзешник somefile.exe - вы
вводите только имя somefile {ENTER}, а, если это скрипт, то нужно
вводить somescript.vbs {ENTER}
Если создать на это скрипт ярлык (lnk), то поведение такое же как с exe. |
|
Back to top |
|
|
_Johm
Joined: 14 May 2006 Posts: 119
|
(Separately) Posted: Wed Feb 10, 2010 15:54 Post subject: |
|
|
tarbo
Сами то хоть пробовали то, о чем я уже два раза написал из-за реплики
Quote: | посмотрите значение переменной %PATHEXT% | ? |
|
Back to top |
|
|
tarbo
Joined: 10 Feb 2010 Posts: 2
|
(Separately) Posted: Sun Feb 14, 2010 19:34 Post subject: |
|
|
_Johm wrote: | tarbo
Сами то хоть пробовали то, о чем я уже два раза написал из-за реплики |
Это вы к чему? Я предположил, что у вас не прописаны расширения в переменной. Значит эти расширения для запуска файлов без расширения только для путей %PATH%. Если вы хотите запускать, то пропишите пути в переменную. Какого ответа вы еще ждали я не знаю, а до этого и самому не сложно додуматься. |
|
Back to top |
|
|
_Johm
Joined: 14 May 2006 Posts: 119
|
(Separately) Posted: Mon Feb 15, 2010 08:30 Post subject: |
|
|
tarbo wrote: | Значит эти расширения для запуска файлов без расширения только для путей %PATH%. |
Ничего это не значит.
И ничего не надо прописывать в переменные для проверки:
положите файл test.vbs
Code: | WSCript.Echo "test" |
в папку C:\WINDOWS
и попробуйте без расширения запустить его через RUN.
Получилось? Думаю нет.
Вот я и не доумеваю, почему проблема с vbs, когда как с cmd bat это работает? |
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10346 Location: Россия, Саратов
|
(Separately) Posted: Mon Feb 15, 2010 10:20 Post subject: |
|
|
_Johm
Потому что, ЕМНИП, система корректно обрабатывает (в определённом порядке) запуск без расширений только COM, EXE, BAT и CMD. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
_Johm
Joined: 14 May 2006 Posts: 119
|
(Separately) Posted: Mon Feb 15, 2010 10:35 Post subject: |
|
|
Avada
ЕМНИП, еще lnk, которой вообще нет в PATHEXT. А повторяюсь я для особо одаренных, которые советуют проверить переменные среды.
[тема закрыта] |
|
Back to top |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
(Separately) Posted: Mon Feb 15, 2010 10:52 Post subject: |
|
|
Avada wrote: | _Johm
Потому что, ЕМНИП, система корректно обрабатывает (в определённом порядке) запуск без расширений только COM, EXE, BAT и CMD. |
И это имеет силу еще со времен черных экранов.
Порядок как раз такой.
Кстати, LNK без расширения Windows тоже выполняет, если он находится в папке, указанной в переменной PATH - только что проверял. Поэтому для запуска всяких там скриптов нужно создавать ярлыки, которые будут запускать соответствующую оболочку. Дополнительные параметры, которые нужно передать скрипту, можно указывать прямо после имени ярлыка в поле запуска.
Про PATHEXT я тоже посмотрел, она влияет лишь на то, какие файлы без указания расширения будут запускаться из командной строки - если присвоить переменной ерунду, VBS из командной строки без указания расширения запустить не удастся, как и LNK, которого там по умолчанию и нет - пока не пропишешь его там вручную, из командной строки он без указания расширения запускаться не будет. _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|
Back to top |
|
|
_Johm
Joined: 14 May 2006 Posts: 119
|
(Separately) Posted: Mon Feb 15, 2010 11:06 Post subject: |
|
|
Вообще-то, я говрою про RUN-диалог, и, если, что касаеться перменных PATH и PATHEXT, как выяснилось, благодаря MVV, vbs запускаеться без расширения в cmd, то с RUN по-другому.
Про ярлык на скрипт я талдычу с начала темы (тут, MVV, мне Америку не открываешь...)
Значит, где-то в другом месте определяется поведение RUN, раз они различаются с cmd. Скорее всего, это shell32.dll, думаю смысла нет обсуждать... |
|
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
|