我正在尝试编写脚本,并且需要在弹出新对话框后模仿一些按键操作。当我转到该功能块时,powershell返回“ False”,并且不执行“击键”。我觉得我没有到达下一个窗口。
function ats{
$wshell = New-Object -ComObject wscript.shell;
cmd /c C:\location\location\ats.exe
$wshell.AppActivate('Administrative Tool Suite (ATS)')
Sleep 1
$wshell.SendKeys('TAB')
sleep .5
$wshell.SendKeys('TAB')
sleep .5
$wshell.SendKeys('TAB')
sleep .5
$wshell.SendKeys('TAB')
sleep .5
$wshell.SendKeys('~')
}
ats
答案 0 :(得分:0)
Powershell正在等待退出命令中的exe。因此,您需要运行exe并并行执行其他命令的机制。
只需更改行:
start-job { cmd /c notepad.exe }
它将启动新线程以打开记事本,并且您的其他代码将并行执行。它将密钥发送到记事本。
如果要发送tab
,则必须使用`t 之类的Powershell转义字符。