2016-02-05 6 views
1

Краткое объяснение: попытка использовать sendkeys для ввода двух переменных/ключей из вывода командного файла.Как написать переданные переменные с помощью sendkeys

Я продолжаю получать синтаксис или ошибки в индексе.

Две переменные передаются из пакетного сценария, с помощью:

cscript //nologo sendKeys.vbs !config! !arguments! 
rem Yes, both variables are defined, and delayed expansion in enabled. 

Моих попыток поставить их в SendKeys не похоже на работу. Я не знаком с VBS ...

VBScript:

Set WshShell = WScript.CreateObject("WScript.Shell") 

WshShell.Run "notepad.exe", 9    ' Start notepad in order to test my failure. 
WScript.Sleep 500       ' Give notepad time to load 

WshShell.SendKeys & WshShell.Arguments(0) ' write passed !config! variable 
WshShell.SendKeys "{TAB}"     ' tab key 
WshShell.SendKeys & WshShell.Arguments(1) ' write passed !arguments! variable 
WshShell.SendKeys "{ENTER}"    ' enter key 

ответ

2

В .Arguments принадлежит к объекту WScript, не доспехи. & - оператор конкатенации, он не имеет смысла между именем метода и аргументом first/only. Поэтому используйте

Set WshShell = WScript.CreateObject("WScript.Shell") 

WshShell.Run "notepad.exe", 9    ' Start notepad in order to test my failure. 
WScript.Sleep 500       ' Give notepad time to load 

WshShell.SendKeys WScript.Arguments(0) ' write passed !config! variable 
WshShell.SendKeys "{TAB}"     ' tab key 
WshShell.SendKeys WScript.Arguments(1) ' write passed !arguments! variable 
WshShell.SendKeys "{ENTER}"    ' enter key 

или - лучше - подумайте о способе решить вашу проблему с реальным миром без SendKeys.

+0

Приложение, в которое я вставляю спам, не поддерживает передачу ему переменных, и ничего, кроме этих двух языков, и я потерян. Спасибо за ответ, извините, это было так просто. – Bloodied

Смежные вопросы