Vba 批处理文件按住shift键至hightlight

Vba 批处理文件按住shift键至hightlight,vba,windows,batch-file,cmd,sendkeys,Vba,Windows,Batch File,Cmd,Sendkeys,我们使用DB2的begin和end语句运行WinSQL。我们在一个文件中有多个脚本。我想知道是否有一种方法可以使用SendKeys按住shift键,使用向右箭头/向下箭头突出显示我要运行的文本。它需要一个环吗?如何在启动前延迟5秒,以便在运行时切换窗口?我试过: set /P "=Wait and send a command: " < NUL ping -n 1 -w 1 127.0.0.1 > NUL %SendKeys% "^{RIGHT}" set/P”=等待并发送命令:“

我们使用DB2的begin和end语句运行WinSQL。我们在一个文件中有多个脚本。我想知道是否有一种方法可以使用SendKeys按住shift键,使用向右箭头/向下箭头突出显示我要运行的文本。它需要一个环吗?如何在启动前延迟5秒,以便在运行时切换窗口?我试过:

set /P "=Wait and send a command: " < NUL
ping -n 1 -w 1 127.0.0.1 > NUL
%SendKeys% "^{RIGHT}"
set/P”=等待并发送命令:“NUL
%SendKeys%“^{RIGHT}”
对于高亮显示,多次,但它忘记了shift键,只向右移动了多次


谢谢

为您的sendkeys试用此功能

范例

%SendKeys% "+{right}"
^用于CTRL键而不是shift键

然后,对于延迟,请尝试cmd命令
timeout/t5

另一方面,由于您也在使用vbs,因此也可以使用它来切换窗口

Dim ObjShell :Set ObjShell = CreateObject("Wscript.Shell")
ObjShell.AppActivate("Notepad")

批处理文件没有“发送密钥”方法。这仅在VB和Jscript中可用。是的,我在批处理文件中使用Jscript:rem使用%SendKeys%将键发送到键盘缓冲区集SendKeys=CScript//nologo//E:Jscript“%~F0”var WshShell=WScript.CreateObject(“WScript.Shell”);SendKeys(WScript.Arguments(0));将批处理文件转换为vbs,对于Shift键,请参阅MS Docs中的。是的,我明白了,我不知道在按住Shift键的同时继续按住箭头键,以便高亮显示字符串。是的,我输入了一个错别字,我使用^c和^v偶数,甚至没有注意到这一点!谢谢你的帮助!