¿El batch es limitado, o se trata de un mito?
Lamentablemente no se trata de ningún mito, batch es un "lenguaje" muy, muy, muy limiado en comparación con cualquier otro lenguaje de hoy en día.
Según palabras de Microsoft que leí en su día, la CMD fue ideada con la intención de automatizar tareas básicas y cotidianas del sistema de Windows, esto quiere decir no le puedes pedir más a Batch, por que solo sirve para el propósito con el que fue ideado: la automatización de tareas básicas.
¿Se puede crear un keylogger, en este idioma?
No, no puedes ...¡ni de lejos!, ni tampoco algo que se le asemeje. Entra muchas otras cosas Batch no puede interactuar con la API de Windows para procesar los mensajes de eventos del teclado.
Lo único que puedes conseguir mediante las funcionalidades built-in de Batch es capturar el user-input y registrarlo en un archivo de texto, hay algunas personas que a eso lo llaman "keylogger":
...pero solo es una captura del
stdin.
Alguien conserva estos manuales en formato PDF:(Los links están muertos)
Yo no he leido nunca esos tutoriales, pero lo que te puedo decir es que si tu intención es desarrollar un keylogger entonces debes plantearte seriamente migrar a un lenguaje de verdad, como
VB.NET,
C#,
C++, o lenguajes de scripting muy capaces como
Python,
Ruby, etc.
De todas formas ya que te interesas por tutoriales de Batch, te dejo aquí uno que escribí hace tiempo:
Saludos