Aquí una alternativa a cls para limpiar la pantalla, aunque deja un salto de línea antes:
type nul | more /c
Aqui hay otra alternativa y no deja un salto de linea acabo de descubrirlo, yo lo uso en VBS para limpiar la pantalla..
mode con lines=0 cols=0 >nul
y funciona bien, mode cambia el tamaño de la pantalla del Cmd y como 0 es un valor imvalido limpia la pantalla pero no cambia el tamaño
solo genera un error por eso lo mando a null y listo..
SaluDOS!!!
PD: Igual es una buena alternativa la tuya todo depende del caso..