有没有办法实现这一点,而不需要像Bash那样需要外部资源?
我想提示用户输入并将输入复制到变量中,以防它也是多线的(例如,如果他或她将文本复制粘贴到提示中)
也许使用Powershell -command?
答案 0 :(得分:1)
正如Aacini所说,不可能使用单set /p
您可以使用set /p
的循环,但是您需要一种结束标记来离开循环。
或者您可以使用copy con input.tmp
,但是您必须使用CTRL-Z完成输入。
sep /p
停在第一个空行的样本。
@echo off
setlocal EnableDelayedExpansion
SET LF=^
REM ** Two empty lines are required
call :input
echo !input!
exit /b
:input
set "input="
:inputLoop
set "line="
set /p "line=Enter text, stop with an empty line :"
if defined line (
set "input=!input!!line!!LF!"
goto :inputLoop
)
exit /b