Reputation: 107
how do you allow the user to type multiple numbers into batch scripting if prompted?
if it prompted 5 options to the user. And the user wanted to choose 1,2,3 but does not want 4,5, how to do it in batch scripting?
I refered to Allowing multiple choice selections for users using batch file and Multiple choices menu on batch file?
There is relevant questions in stackoverflow but there is no answer to it because the answer is not right to the point.
Any help would be greatly appreciated.
Upvotes: 1
Views: 3343
Reputation: 41234
This answer also refers to this question: How to integrate batch script multiple selections into JAVA GUI?
You might like to add a line at the top to delete family.txt
if you want a new file each time.
@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
Upvotes: 2
Reputation: 9545
Like this :
@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
Upvotes: 1