我一直在嘗試制作一個顯示為多行的用戶輸入提示。
我希望它的外觀示例:
Welcome to the program!
What would you like to do?
option [1]
option [2]
option [3]
這就是我嘗試這樣做的方式:
set /p selection="Welcome to the program! ^ What would you like to do? ^ option [1] ^ option [2] ^ option [3]"
但是當我運行它時,結果如下:
Welcome to the program! What would you like to do? option [1] option [2] option [3]
我用谷歌搜索了它,但找不到任何有幫助的東西,所以如果有人能告訴我一種方法來做到這一點,那就太好了!
uj5u.com熱心網友回復:
也許這很簡單。
@echo off
echo welcome to program!
echo what would you like to do?
echo option[1]
echo option[2]
echo option[3]
set /p selection=
uj5u.com熱心網友回復:
有一種方法可以做到這一點,那就是創建一個換行變數。
SET /P版本:
@Echo Off
SetLocal EnableExtensions DisableDelayedExpansion
Rem Define linefeed as a variable.
(Set BR=^
%NULL%
)
:AskIt
Set "VARIABLE="
Rem Delayed expansion is needed to use the linefeed variable.
SetLocal EnableDelayedExpansion
Set /P "VARIABLE=Welcome to the program^!!BR!What would you like to do?!BR!option [1]!BR!option [2]!BR!option [3]!BR!"
(Set VARIABLE) 2>NUL | %SystemRoot%\System32\findstr.exe /RX "^VARIABLE=[123]$" 1>NUL || GoTo AskIt
Echo You chose %VARIABLE%& Pause
EndLocal
CHOICE.EXE版本(推薦)
@Echo Off
SetLocal EnableExtensions DisableDelayedExpansion
Rem Define linefeed as a variable.
(Set BR=^
%NULL%
)
Rem Delayed expansion is needed to use the linefeed variable.
SetLocal EnableDelayedExpansion
%SystemRoot%\System32\choice.exe /C 123 /N /M "Welcome to the program^!!BR!What would you like to do?!BR!option [1]!BR!option [2]!BR!option [3]!BR!"
Echo You chose %ERRORLEVEL%& Pause
EndLocal
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/494645.html
上一篇:是否有一種簡單的方法可以在Windows批處理檔案中定義和使用復雜的文字字串,而無需手動轉義每個特殊字符?
下一篇:通過處理獲得正確的起始目錄
