Lote de Windows: eco sin nueva línea
¿Cuál es el equivalente por lotes de Windows del comando de shell de Linux echo -n
que suprime la nueva línea al final de la salida?
La idea es escribir en la misma línea dentro de un bucle.
Usando set
y el /p
parámetro puedes repetir sin nueva línea:
C:\> echo Hello World
Hello World
C:\> echo|set /p="Hello World"
Hello World
C:\>
Fuente
Usando: echo | set /p=
o <NUL set /p=
ambos funcionarán para suprimir la nueva línea.
Sin embargo, esto puede ser muy peligroso cuando se escriben scripts más avanzados, cuando verificar ERRORLEVEL se vuelve importante, ya que configurar set /p=
sin especificar un nombre de variable establecerá ERRORLEVEL en 1.
Un mejor enfoque sería simplemente usar un nombre de variable ficticio como este:
echo | set /p dummyName=Hello World
Esto producirá exactamente lo que quieres sin que sucedan cosas furtivas en segundo plano, como tuve que descubrir por las malas, pero esto solo funciona con la versión canalizada; <NUL set /p dummyName=Hello
seguirá elevando el ERRORLEVEL a 1.