¿Se puede ejecutar una orden que pulse una tecla ( espaciador ) y a los X segundos , la vuelva a pulsar ? indicando yo los segundos que quiera, con un programilla en bat.
Con "puro" código
Batch no es posible,
Batch no provee ninguna característica de interoperabilidad con el dispositivo de teclado para poder simular eventos de pulsación de teclas ni nada que se le parezca.
Como solución alternativa, lo que se suele hacer desde un
batch-script e ironicamente para cubrir las limitaciones por naturaleza de
Batch, sería utilizar aplicaciones de terceros como por ejemplo
nircmd, o escribir un archivo local (un script) cuyo contenido sería una unidad de código funcional escrita en el lenguaje
Visual Basic Script (también conocido por sus siglas
VBS), en este caso un código que llamaría al miembro
SendKeys, pero llevar a cabo esta especie de hibridación de códigos se suele hacer por pura inexperiencia / ignorancia o simplemente por que el programador es un chapuzas sin remedio... ya que lo cierto es que resulta una soberana estupidez hacer algo así debido a que siempre se tiene la ventajosa opción de recurrir directamente a VBS para desarrollar todo el código desde un principio.
Entre en este mundillo hace poco y estoy muy verde
El mejor consejo que alguien te podrá dar jamás: deja de utilizar
Batch, o en su defecto limítate a utilizarlo teniendo en mente el propósito con el que éste fue creado, es decir, para permitir una mínima interoperabilidad con los componentes de la shell de Windows para poder llevar a cabo tareas básicas de usuario (pero muy, muy
básicas) las cuales están mayormente relacionadas con la administración del sistema de archivos en general.
Batch no es considerado como un lenguaje de programación, sino más bien como una herramienta limitada, bastante inutil y en la que el tiempo por la complejidad de escritura para el desarrollo de cualquier algoritmo que en cualquier otro lenguaje sería considerado "sencillo" de escribir y realizar, en esta herramienta se puede acabar volviendo algo extremadamente tedioso (y creando un código muy
espagueti) debido a sus limitaciones.
Hay otros lenguajes a tu disposición nativamente soportados por Windows los cuales son infinitamente más completos y sofisticados en comparación, como es el caso de
PowerShell, en el que además puedes compilar (para posteriormente cargar en memoria y usar los miembros compilados) unidades de código escritas en cualquier lenguaje soportado por la plataforma
.NET Framework, como sería
C# y
VB.NET , entre otros.
En fin. Para enviar la tecla "espacio" a la ventana que esté activa y repetir la pulsación de forma indefinida con un intervalo de tiempo determinado, puedes hacerlo de la siguiente manera con
PowerShell:
script.ps1[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
[TimeSpan]$interval = [System.TimeSpan]::FromMilliseconds( 1000 ) # 1 sec.
[String]$keys = " " # space bar
# https://msdn.microsoft.com/en-us/library/system.windows.forms.sendkeys.send(v=vs.110).aspx
while( $true ) {
[System.Windows.Forms.SendKeys]::SendWait( $keys )
[System.Threading.Thread]::Sleep( $interval )
}
( nótese que el código es sincrónico, bloqueante. )
...el código es un ejemplo que adaptarías a tus necesidades. Recuerda que aquí no le regalaremos el trabajo hecho a nadie, si necesitas estudiar la utilización básica de este lenguaje, pues estudialo, y si tienes una pregunta específica, pues sientete libre de formular dicha pregunta en este foro.
Saludos.