Pues sí, lo primero es que la tecnología Batch lleva obsoleta desde hace años, y fue reemplazada en su momento por Powershell.
Lo segundo es que C++ es POO (hay objetos), sin embargo, Batch es código procedural. Ni si quiera hay funciones, como mucho etiquetas para redireccionar las llamadas de código.
Lo tercero, a parte, de que ninguna de las sintaxis me gusta, la de Batch es más difícil si cabe.
Lo cuarto, es que si decides comenzar a programar en algunos de estos 2 lenguajes, C++ tiene 300% más salida que el obsoleto Batch.
Lo quinto es preguntarte, a que se debe tu pregunta?