Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Проблема передачи параметров в скрипт при запуске из ярлыка

Ответить
Настройки темы
VBS/WSH/JS - [решено] Проблема передачи параметров в скрипт при запуске из ярлыка

Аватара для gora

Ушёл из жизни


Сообщения: 6021
Благодарности: 3491


Конфигурация

Профиль | Отправить PM | Цитировать


Изменения
Автор: gora
Дата: 08-09-2011
Создаю ярлык в контекстном меню SendTo. В свойствах ярлыка прописал запуск с ключом /Cs.


В скрипте ChngCase.vbs первыми строками стоит проверка передаваемых параметров:
Код: Выделить весь код
F = WScript.Arguments(0)
MsgBox(F)
CurrentFile = WScript.Arguments(1)
MsgBox(CurrentFile)
Скрипт лежит по указанному в ярлыке адресу.
Устанавливаю курсор на файл -> ПКМ -> Отправить -> Щелчок по ярлыку "С заглавной буквы". Появляется первое окно в котором отображается полный путь к файлу под курсором. Закрываю это окно, но второго окна не появляется, а появляется ошибка
Цитата:
Ошибка: Индекс выходит за пределы допустимого диапазона
Появление ее понятно, т.к., в скрипт передан только один (второй, а не первый) параметр - полный путь к файлу, а куда пропадает ключ /Cs для меня остается загадкой!?
Положил рядом со скриптом одноименный батник и изменил в ярлыке расширение на .bat, дабы проверить передачу параметров ярлыком.
Файл ChngCase.bat
Код: Выделить весь код
@Echo Off
Echo %1
Echo %2
Pause>Nul
В результате запуска в консольном окне вижу как и положено две строки: в первой ключ, во второй путь к файлу под курсором.

Как правильно создать ярлык для запуска .vbs скрипта с передачей ему этих двух параметров: ключа и пути к файлу ?

Отправлено: 10:07, 08-09-2011

 

Старожил


Сообщения: 175
Благодарности: 119

Профиль | Отправить PM | Цитировать


Перед маршрутом скрипта вставьте сервер сценариев wscript.exe.

Кроме того можно разделить параметры на именованные и нет.
/Cs - его лучше проверять как именованный. Например:
Код: Выделить весь код
If WScript.Arguments.Named.Exists("Cs") Then MsgBox "есть"
И тогда не будет иметь значение, каким по порядку он стоит. А неименованные в таком случае можно получать отдельным списком.
Код: Выделить весь код
CurrentFile = WScript.Arguments.UnNamed.Item(0)
MsgBox(CurrentFile)
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:26, 08-09-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Проблема передачи параметров в скрипт при запуске из ярлыка

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Службы - Сбой при запуске службы "Фоновая интеллектуальная служба передачи (BITS)" Sanc4eZ Microsoft Windows 2000/XP 4 20-10-2010 12:50
[решено] скомпилированный (exe-file) скрипт при запуске вываливается с ошибкой у части юзеров saavaage AutoIt 4 05-10-2010 12:54
Скрипт выполняется только при запуске вручную! FATruden Программирование в *nix 3 26-07-2010 13:32
VBS/WSH/JS - [решено] Требуется доработать скрипт, чтобы при его запуске появлялся запрос на повышение прав okshef Скриптовые языки администрирования Windows 16 24-07-2010 23:09
[решено] как извлечь CD .. тоесть нужен скрипт или EXE который при запуске извлекал бы CD nattropin_new Автоматическая установка Windows 2000/XP/2003 9 24-03-2007 23:57




 
Переход