Войти

Показать полную графическую версию : [решено] Выбивает ошибку при запуске vbs в «планировщике заданий»


eeek
30-04-2013, 23:19
Мне нужно запустить эмуляцию клавиш, а в программе нужно нажать CTRL + SHIFT + ENTER, я хочу все автоматизировать, чтобы система делала все, без моего вмешательства, я создал .vbs:

set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "server_2.pmc"
Wscript.Sleep 1500
WshShell.SendKeys "^+{ENTER}"

Если его запустить самому, он все прекрасно делает, но когда я его помещаю в «Планировщик Заданий», выбивает ошибку:

ITDemon
01-05-2013, 00:07
WshShell.Run не поддерживает путь к файлу, если это не c:\windows, c:\windows\system32 (если сценарий и файл не расположены в одной директории). Либо поместите файл в соответствующий каталог, либо редактируйте системные переменные окружения.

eeek
01-05-2013, 00:47
либо редактируйте системные переменные окружения » можно с этого момента поподробнее

ITDemon
01-05-2013, 01:01
Пользовательские и системные переменные окружения можно просмотреть в cmd с помощью команды set. Вас в данном случае интересует path. Можете редактировать в cmd с помощью setx. Проще всего, открыть апплет "система" -> "дополнительные параметры", кнопка "переменные среды". Добавьте свои пути к программам или файлам. Затем, сможете напрямую вызывать их из cmd только по имени.

eeek
01-05-2013, 01:08
Дак как мне нужно изменить код теперь, куда добавить изменения в директории, я же 0 в этом.

eeek
01-05-2013, 01:13
добавил, все-равно ошибка....

ITDemon
01-05-2013, 01:15
Вы же создали .vbs-код, как же вы 0 в этом?..
Еще раз:"Проще всего, открыть апплет "система" -> "дополнительные параметры", кнопка "переменные среды". Добавьте свои пути к программам или файлам. " Используйте переменную path - изменить.

В скрипте ничего менять не надо. Система, по-умолчанию, просто не знает где ваш файл лежит. Ткните ее туда.

eeek
01-05-2013, 01:16
УРАААААА-а-а-а-а, заработало, нужно было прописать точный путь: C:\Users\eek\Desktop\ele.pmc, а у меня было просто ele.pmc, спасибо ОГРОМНОЕ :)

вернее сказать, не точный адресс, а какой я прописывал, где вы говорили.

ITDemon
01-05-2013, 01:19
Поздравляю.

eeek
01-05-2013, 01:33
Как не одна проблема так другая, теперь при запуске не нажимаются нужные клавиши: CTRL + SHIFT + ENTER, опять же, если запустить вручную .vbs, оно все делает без проблем, но в Планировщике Заданий ничего не хочет делать...

ITDemon
01-05-2013, 01:54
Нажатие клавиш не отправляется в приложение, потому что его сначала нужно активировать
функцией WshShell.AppActivate

Iska
01-05-2013, 03:32
WshShell.Run не поддерживает путь к файлу, если это не c:\windows, c:\windows\system32 (если сценарий и файл не расположены в одной директории). »
С чего бы это?

eeek
01-05-2013, 11:43
set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "C:\Users\eek\Desktop\auto\server2.pmc"
Wscript.Sleep 1500
WshShell.AppActivate "^+{ENTER}"

Добавил WshShell.AppActivate, все равно не работает..

Короче все изменил на:

set WshShell = WScript.CreateObject("WScript.Shell")
set qwe = createobject("wscript.shell")
qwe.run "C:\Users\eek\Desktop\auto\server2.pmc"
Wscript.Sleep 1500
WshShell.SendKeys "^+{ENTER}"

Теперь все работает без всяких добавлений в "Переменные среды"

и + клавиши нажимаются

Iska
01-05-2013, 18:36
Добавил WshShell.AppActivateWshShell.AppActivate "^+{ENTER}"
все равно не работает.. »
Потому что неправильно добавили. Читайте и пробуйте:

AppActivate Method - MSDN - Microsoft (http://msdn.microsoft.com/en-us/library/wzcddbek(v=vs.84).aspx)
3.6. AppActivate (http://www.script-coding.com/WSH/WshShell.html#3.6.)

Теперь все работает без всяких добавлений в "Переменные среды" »
Этого и не нужно было. Коллега ITDemon дал неверное утверждение.

eeek
01-05-2013, 20:08
Не хочу уже напрягаться, я сделал так, чтобы работало как мне надо, и это уже хорошо для меня




© OSzone.net 2001-2012