2017-02-12 27 views
0

Мы хотим, чтобы наш .bat-файл отправлял ключ «Enter» каждую секунду. Является ли это возможным? Если да, то как мы должны это делать?Отправка ввода с командными командами

Will %SendKeys% {ENTER} работа?

Наш код в данный момент:

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

Не без сторонней программы. Но Vbscript и Jscript могут делать то, что вам нужно, и не требуют какой-либо сторонней программы, поскольку по умолчанию установлен хост Windows. – Squashman

ответ

1

первой загрузки NirCmd здесь: http://nircmd.nirsoft.net/
создать пакетный файл в том же каталоге, где NirCmd является и тип:

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

Это не представляется возможным отправлять ключи в пакетных файлах без использования сторонней утилиты или VBScript. Вот гибридный VBScript-пакетный файл, который отправляет . Введите ключ каждые 1 секунду (ы).

@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} значение.