Вы можете подавить новую строку, используя команду set / p. Команда set / p не распознает пробел, для этого вы можете использовать точку и символ возврата на одну позицию, чтобы она распознала его. Вы также можете использовать переменную в качестве памяти и сохранить в ней то, что вы хотите напечатать, чтобы вы могли напечатать переменную вместо предложения. Например:
@echo off
setlocal enabledelayedexpansion
for /f %%a in ('"prompt $H & for %%b in (1) do rem"') do (set "bs=%%a")
cls
set "var=Hello World! :)"
set "x=0"
:loop
set "display=!var:~%x%,1!"
<nul set /p "print=.%bs%%display%"
ping -n 1 localhost >nul
set /a "x=%x% + 1"
if "!var:~%x%,1!" == "" goto end
goto loop
:end
echo.
pause
exit
Таким образом, вы можете напечатать что угодно без новой строки. Я сделал программу для печати символов по одному, но вы также можете использовать слова вместо символов, изменив цикл.
В приведенном выше примере я использовал «enabledelayedexpansion», поэтому команда set / p не распознает «!» символ и печатает точку вместо этого. Я надеюсь, что вы не используете восклицательный знак "!" ;)