如何批量将换行符放入 "set /p"
How do I put a newline inside a "set /p" in batch
我正在尝试在 set /p 变量提示中插入一个新行,这是一个示例。
set /p variableName=[1] - this\n[2] - or this
output:
[1] - this
[2] - or this
恐怕不是你想的那样。
我找到了 this,并创建了以下代码,其中变量 PText
包含您想要的行,然后用作 SET /P
命令中的提示符:
@ECHO OFF
SET PText=[1] - this^& ECHO;[2] - or this
SET /P variableName=%PText%
ECHO;Answer=[%variableName%]
当我 运行 代码时,它打印 [1] - this
,我回答 ABC
并按回车,然后它打印 [2] - or this
,然后是 ECHO
命令打印 Answer=[ABC]
:
[1] - thisABC
[2] - or this
Answer=[ABC]
我相信唯一真正的答案是 ECHO
在执行 SET /P
之前你想要什么,或者使用 this page 中描述的 CHOICE
命令.
示例SET /P
:
ECHO;[1] - this
ECHO;[2] - or this
SET /P variableName=[1,2]?
就像 SomethingDark 建议的那样,您可以简单地使用 echo
作为行
echo [1] This
set /p "var=[2] - or this "
但是如果你坚持只使用 set /p
可以用
@echo off
setlocal EnableDelayedExpansion
(set \n=^
%=empty=%
)
set /p "var=[1] This!\n![2] or this"
要在文本中实际插入一个换行符:
@echo off
setlocal enabledelayedexpansion
set nl=^
::The Above empty lines are critical for this function, do not delete.
set /p "var=[1] - this!nl![2] - or this!nl!"
echo %var%
我个人不确定您为什么不为此使用 choice
?
echo [1] - This & echo [2] - or this & choice /c 12
我正在尝试在 set /p 变量提示中插入一个新行,这是一个示例。
set /p variableName=[1] - this\n[2] - or this
output:
[1] - this
[2] - or this
恐怕不是你想的那样。
我找到了 this,并创建了以下代码,其中变量 PText
包含您想要的行,然后用作 SET /P
命令中的提示符:
@ECHO OFF
SET PText=[1] - this^& ECHO;[2] - or this
SET /P variableName=%PText%
ECHO;Answer=[%variableName%]
当我 运行 代码时,它打印 [1] - this
,我回答 ABC
并按回车,然后它打印 [2] - or this
,然后是 ECHO
命令打印 Answer=[ABC]
:
[1] - thisABC
[2] - or this
Answer=[ABC]
我相信唯一真正的答案是 ECHO
在执行 SET /P
之前你想要什么,或者使用 this page 中描述的 CHOICE
命令.
示例SET /P
:
ECHO;[1] - this
ECHO;[2] - or this
SET /P variableName=[1,2]?
就像 SomethingDark 建议的那样,您可以简单地使用 echo
作为行
echo [1] This
set /p "var=[2] - or this "
但是如果你坚持只使用 set /p
可以用
@echo off
setlocal EnableDelayedExpansion
(set \n=^
%=empty=%
)
set /p "var=[1] This!\n![2] or this"
要在文本中实际插入一个换行符:
@echo off
setlocal enabledelayedexpansion
set nl=^
::The Above empty lines are critical for this function, do not delete.
set /p "var=[1] - this!nl![2] - or this!nl!"
echo %var%
我个人不确定您为什么不为此使用 choice
?
echo [1] - This & echo [2] - or this & choice /c 12