Имитация клавиши ввода в командной строке не работает - PullRequest
0 голосов
/ 25 февраля 2019
Set WshShell = CreateObject("WScript.shell")
WshShell.Run "cmd /K cd /d D:\Path\&abcd.bat"
wait 5
WshShell.SendKeys "{ENTER}"

Строка

WshShell.Run "cmd /K cd /d D:\Path\&abcd.bat"

работает нормально, запускает файл abcd.bat (запускает файл, затем командная строка просит нажать клавишу ввода), но нажимает Enter

WshShell.SendKeys "{ENTER}"

не работает.QTP / UFT ничего не делает, пропускает эту строку кода и переходит к следующей строке.

Я пытался

WshShell.SendKeys "{ENTER}"
WshShell.SendKeys "~"
WshShell.SendKeys "(Chr(13))"

Ничего не помогло.

Ответы [ 2 ]

0 голосов
/ 12 марта 2019

Вместо инициализации ' WScript.Shell ' вы можете использовать стандартную функциональность UFT / QTP:

SystemUtil.Run "D:\Path\To\batch.bat"

Посмотрите официальный справочник SystemUtil: SystemUtil Object

0 голосов
/ 26 февраля 2019

Попробуйте

WshShell.SendKeys "~"

Иногда это работает, когда {ENTER} нет.Не спрашивай меня почему.

...