Hola, me parecio interesante el hilo y os voy a comentar varias cosas:

1º El batching sigue siendo tan útil como en tiempos del DOS, es cierto que algunas características no fueron implementadas, etc. También es cierto que no es tan potente como algún lenguaje de Shell para UNIX. Pero sigue siendo tan útil y potente como en otra época. Hasta tal punto que MS esta intentando sacar un nueco interprete de comandos (el PowerShell) para dotar a los sistemas Windows de una linea de comandos moderna y potente. Hasta tal punto sigue siendo válido que las versioens Core del Windows 2008 se basan en consola. Y por cierto se pueden hacer cosas en consola que no se pueden hacer (o son más complejas en los últimos windows) desde el entorno gráfico. Yo, especialmente en tareas de administración de sistemas, lo sigo usando y es la forma mejor de trabajar. Y un administrador de sistemas que no tenga un mínimo de nociones de linea de comandos, no es un verdadero administrador de sistemas, sino alguien con un título pero que no sabe hacer nada.

2º Es cierto que desde linea de comandos o a través de un bat, de los requerimientos del virus no son factibles o no tienen sentido (para deshavilitar el CDROM, o mejor dicho DVD, CDROM solo quedan en equipos de hace 5 o más años, pues la única forma es la BIOS, lo qu ese puede deshavilitar es el autoarranque, o incluso que deje de reconocer la unidad, pero de poco sirve, además cada vez se usan menos). Per la mayoría son factibles, aunque en otros lenguajes.

3º El batching, aunque no es un lenguaje de programación al uso, en si cumple las permisas de lenguaje de programación intepretado. Por lo cual, aunque no es propiamente un lenguaje de programación si no un archivo de proceso por lotes (como script de shell en UNIX), en la práctica la diferencias es más teórica que real y seamos claros, actualmente ya muy pocos saben la diferencia teórica y en las nuevas publicaciones e incremento de prestaciones de los interpretes de comendos, pues la realidad dice que ya no hay diferencia.

4º Aunque se pudría llegar a hacer algo de la entidad que quereis en bat, en la práctica no es una buena alternativa.

5º Eso de VB 6 yo lo descartaría, por varios motivos, entre ellos que los genera ejecutables inmensos (para el tamaño óptimo de un virus) y además requiere unas librerias que usualmente se instalan cuando instalas el programa (que es el inteprete real del códe). En cuanto a VB.NET pues otro tanto de lo mismo. C es una alternativa, pero hacer lo que quereis en C sin tener unos sólido conocimientos del API de Windows, pues vais a flipar.

Una vez repasados ciertos puntos que me parecía había que repasar para aclarar temas.

Si me permitis un consejo, usad una solución intermedia a lo queriais, algo entre BAT y VB que es la mejor alternativa y es muy usado. Por que no lo haceis en vbScript. Motivos:
-Todos los windows desde el 98 integran el interprete e incluso MS para Windows Vista aumento sus prestaciones.
-Teneis el control absoluto del equipo.
-No requiere de nada adicional para que funcione.
-Es muy fácil (la sintaxis es casi idéntica a la de VB).
-Además se pueden hacer ejecutables (hay paquetes que te crean un exe o com a partir de un script en vbscript).
...
Como único punto negativo, debido a que muchos virus se basan en vbscript, pues los antivirus revisan mucho esos escript y si detectan ciertas estructuras comunes a virus, pues te lo dan como un virus, aun así si teneis un poco de cuidado, pues la comprovaciones son muy laxas porque si no no funcionarían un montón de utilidades.

Saludos