如果出现提示,如何允许用户在批处理脚本中键入多个数字?
如果它向用户提示了5个选项。并且用户想要选择 1,2,3 但不想 4,5 ,如何在批处理脚本中执行此操作?
我指的是Allowing multiple choice selections for users using batch file和Multiple choices menu on batch file?
stackoverflow中有相关问题,但没有答案,因为答案不正确。
非常感谢任何帮助。
答案 0 :(得分:1)
这个答案也提到了这个问题:How to integrate batch script multiple selections into JAVA GUI?
如果您每次都想要新文件,可以在顶部添加一行来删除family.txt
。
@echo off
echo.
echo Selection time!
echo.
echo 1. My father is Joe
echo 2. My mother is Audrey
echo 3. My brother is Jerry
echo 4. My elder sister is June
echo 5. My youngest sister is Awy
echo 6. Include All
echo.
:getOptions
set "choices="
set /p "choices=Type your choices without spacing (e.g. 1,2,3): "
if not defined choices (
echo Please enter a valid option
goto getOptions
)
for %%a in (%choices%) do if %%a EQU 6 set choices=1,2,3,4,5
for %%i in (%choices%) do call :option-%%i
echo.
echo Done
pause
exit
:option-1
>> Family.txt echo My father is Joe
exit /B
:option-2
>> Family.txt echo My mother is Audrey
exit /B
:option-3
>> Family.txt echo My brother is Jerry
exit /B
:option-4
>> Family.txt echo My elder sister is June
exit /B
:option-5
>> Family.txt echo My youngest sister is Awy
exit /B
答案 1 :(得分:1)
像这样:
@echo off
set /p "$choix=Enter you(s) Choice (1,2,...): "
for %%a in (%$choix%) do call:choix%%a
exit/b
:choix1
echo Choice 1
exit/b
:choix2
echo Choice 2
exit/b
:choix3
echo Choice 3
exit/b