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
多行输入是在这样的循环中完成的,但是我不能将换行符写入变量本身 - 我稍后会尝试修复它(我还没有删除它 - 也许有人会使用它作为基础和完成它):
那是行不通的。
您不能在变量中存储多行值,因为这意味着无法存储在环境变量中的不可打印字符(0x0d、0x0a 或 \r\n,如果您愿意)。