批处理文件-选择,缩进提示

时间:2018-07-04 21:04:29

标签: batch-file

我在批处理文件中使用选择来显示这样的提示。

:choice
set /P "c= Is this Correct? (Y/N)"
if /I "%c%" EQU "Y" goto :movespot
if /I "%c%" EQU "N" goto :exitspot
goto :choice

它可以正常工作,但是忽略了“这是正确的吗?”中的空格。 (Y / N)',我正尝试使用它来缩进回声。

还有其他方法可以做到吗?

2 个答案:

答案 0 :(得分:3)

这是在data = request.get_json() 输出中打印空格的代码解决方案。

SET /P

答案 1 :(得分:2)

对于这样的是/否选择,我建议使用choice command,因为它不接受Y / N以外的条目( Ctrl 除外) + C Ctrl + 中断,但您也可以中止set /P

尽管如此,choice删除前导空格,就像set /P一样;它甚至删除尾随的。尽管backspace-(-)trick演示的Squashman在这里也适用,但对于双方:

for /F %%C in ('prompt $H ^& for %%# in ^(.^) do rem/') do set "BS=%%C"
set /P C="_%BS% Is there a leading space and a (kept) trailing space? "
choice /M "_%BS% Is there a leading and two trailing spaces? _%BS%" /N

请注意,choice总是在提示文本后附加一个 SPACE (如果已指定)(/M)。因此,上述两个尾随空格之一是附加的。默认情况下,除非给出choice,否则[Y,N]会附加选项列表(/N)。