cmd
sempre gera uma nova linha antes imprime seu prompt. Isso significa que algo como
> echo foo
foo
> _
sempre terá essa linha em branco, pois echo
imprime uma quebra de linha automaticamente. No entanto, algo como
> set /p x=foo<nul
foo
> _
não terá a linha vazia no meio desde acima é o truque que permite imprimir coisas sem uma quebra de linha à direita. Ainda assim, o prompt aparece no início da próxima linha.
Isto é feito presumivelmente para ter o prompt sempre no início da linha, independentemente de como foi atrapalhada a saída do último comando. No tipo UNIX, é comum encontrar seu prompt no meio da linha, pois o último comando não imprimiu uma nova linha.
Mas não parece haver uma maneira de impedir o comportamento dele.
Você pode canalizar facilmente o que estiver fazendo por meio de
findstr /r /v /c:"^$"
embora.