使用批处理命令发送键盘输入

问题描述:

我们希望我们的.bat文件每秒发送一次“Enter”键。可能吗?如果是这样,我们该怎么做?使用批处理命令发送键盘输入

请问%SendKeys% {ENTER}有用吗?

我们当前的代码:从这里

@echo off 
cls 
color 0a 
:loop 
%SendKeys% {ENTER} 
timeout /t 1 /nobreak >nul 
goto :loop 
+0

不是没有第三方程序。但是Vbscript和Jscript可以做你想做的事情,不需要任何第三方程序,因为Windows脚本主机默认安装。 – Squashman

首先下载的NirCmd:http://nircmd.nirsoft.net/
创建在同一目录下的批处理文件,其中的NirCmd是和类型:

@echo off 
:loop 
nircmd sendkeypress enter 
timeout /t 1 /nobreak >nul 
goto :loop 

这是不可能的在批处理文件中发送密钥,而不使用第三方实用程序或VBScript。这是一个混合VBScript批处理文件,每隔1秒连续发送一次Enter密钥。

@if (@CodeSection == @Batch) @then 

@echo off 
    set SendKeys=CScript //nologo //E:JScript "%~F0" 
    cls 
    color 0a 
    :loop 
     %SendKeys% {ENTER} 
     timeout /t 1 /nobreak >nul 
    goto :loop 

@end 

var WshShell = WScript.CreateObject("WScript.Shell"); 
WshShell.SendKeys(WScript.Arguments(0)); 

注:要更改输入简单地改变{enter}价值的关键。