yo tampoco, si no me equivoco se puede hacer en C:
-leer desde Memoria el valor de la tecla pulsada
-si es Enter devolver ERRORLEVEL 13
-si es retroceso borrar letra
-para el resto de caracteres ascii, devolver su valor en ERRORLEVEL
http://www.ascii-code.com/(en el batch usan a partir de '0' que es 48 pero puedes hacer más si es que batch los admite)
en realidad se puede hacer todo el codigo en C pero para usarlo con este batch seria eso
compilas el codigo sobre la plataforma que vayas a usar (64) y te olvidas de la parte que crea el archivo.exe si se puede evitar porque para eso hay que saber un poco de ASM por lo menos
PS: si no creas el exe otra vez tendras que conseguir que te funcione y eso quizas no sea posible, prueba con propiedades->compatibilidad