Batch script multiple choice menu

我只是一个虾纸丫 提交于 2021-02-11 00:20:07

问题


I have multimedia file viewing software that I call in a batch script to load files using an /LOADFILES argument. This argument accepts multiple files separated by semicolons ";".

What I would like is a menu from which I can select the files I want to open.

For example :

  1. Sample_01
  2. Sample_02
  3. Sample_03
  4. Sample_04
  5. Sample_05
  6. All

What is your choice ?

And what we have selected ends up stored in a variable which is interpreted by the /LOADFILES argument.

For now, my script is able to open all the existing samples one after the other :

@echo off
for /f "delims=" %%I in ('dir /a:d-h /b "%SystemDrive%\software\sample\*"') do (
"%SystemDrive%\software\Viewer.exe" /LOADFILES="%%I"
)
pause
exit

But I would like it to be able to read only the samples that I have selected from a menu, in separate instances of the program.

I have no specific idea of about how to achieve this.

Any help would greatly help me improve my script.

Thank you.


回答1:


Here is a (very basic) script to show you the basic concept:

@echo off 
setlocal 
set "loadfiles="
:AddSamples
cls
echo current loadfiles: %loadfiles:~1%
echo add sample number
echo 1 - Sample_01
echo 2 - Sample_02
echo 3 - Sample_03
echo 4 - Sample_04
echo 5 - Sample_05
echo A - All and Go
echo G - Done and Go
choice /c 12345AG /m "What is your choice? "
if %errorlevel% == 1 set "loadfiles=%loadfiles%;Sample_01.mp3
if %errorlevel% == 2 set "loadfiles=%loadfiles%;Sample_02.mp3
if %errorlevel% == 3 set "loadfiles=%loadfiles%;Sample_03.mp3
if %errorlevel% == 4 set "loadfiles=%loadfiles%;Sample_04.mp3
if %errorlevel% == 5 set "loadfiles=%loadfiles%;Sample_05.mp3
if %errorlevel% == 6 set "loadfiles=;Sample_01.mp3;Sample_02.mp3;Sample_03.mp3;Sample_04.mp3;Sample_05.mp3" & goto :continue
if %errorlevel% == 7 goto :continue
goto :AddSamples
:Continue
set "loadfiles=%loadfiles:~1%"
"%SystemDrive%\software\Viewer.exe" /LOADFILES=%loadfiles%


来源:https://stackoverflow.com/questions/62395942/batch-script-multiple-choice-menu

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!