CMD ввод переноса строки в консоль
Есть простенький скрипт:
set /p "m=Write: "
echo %m%
Требуется ввести текст в переменную m, с сохранением переноса строк. Допустим ввод:
Привет,
как дела?
Надо, чтобы консоль вывела текст точно также. Разумеется, по нажатию enter ввод прекращается. Пробовал #13, alt + 0183 - но безуспешно.
Ответы (2 шт):
Автор решения: Qwertiy
→ Ссылка
Многострочный ввод делается циклом как-то так, но вот в саму переменную записать перевод строки у меня не выходит - попробую попозже поправить (пока не удаляю - может кто как основу использует и допилит):
echo off
chcp 65001
REM Creating a Newline variable (the two blank lines are required!)
set NLM=^
set NL=^^^%NLM%%NLM%^%NLM%%NLM%
set text=
:INPUT
set line=
set /p line=Write (empty line to finish):
if "%line%"=="" (goto :DONE)
set text=%text%%line%---
goto :INPUT
:DONE
echo You've entered:
echo %text%
pause
Автор решения: Sergey Tatarincev
→ Ссылка
Так не получится.
Хранить многострочные значения в переменных нельзя, поскольку это предполагает наличие непечатных символов, которые в переменных среды храниться не могут (0x0d,0x0a или \r\n если угодно).