Windows 在批处理文件中执行多个命令
我想构建脚本来选择要运行的命令,但它们应该按照用户在开始时设置的特定顺序运行。例如:Windows 在批处理文件中执行多个命令,windows,batch-file,cmd,Windows,Batch File,Cmd,我想构建脚本来选择要运行的命令,但它们应该按照用户在开始时设置的特定顺序运行。例如: :MENU ECHO. SET /P M=Type 1, 2, 3, 4 or 5 then press ENTER: IF %M%==1 GOTO 1 IF %M%==2 GOTO 2 IF %M%==3 GOTO 3 IF %M%==4 GOTO 4 IF %M%==5 GOTO 5 :1 GOTO MENU :2 GOTO MENU :3 GOTO MENU :4 GOTO MENU :5 E
:MENU
ECHO.
SET /P M=Type 1, 2, 3, 4 or 5 then press ENTER:
IF %M%==1 GOTO 1
IF %M%==2 GOTO 2
IF %M%==3 GOTO 3
IF %M%==4 GOTO 4
IF %M%==5 GOTO 5
:1
GOTO MENU
:2
GOTO MENU
:3
GOTO MENU
:4
GOTO MENU
:5
EXIT
例如,在这个场景中,当提示我选择1、2、3、4或5时,我希望执行命令:1、2、4,然后显示菜单。因此,我只需在屏幕上键入1、2、4,然后batch将执行它-命令应遵循顺序1、2、4
另一个例子是1、3、2、4等等
这可能吗?:)
我不能完全确定这是否是您想要的..no:),好的,示例1用户输入:1、2、3。脚本从1、2和3执行命令。示例2:用户输入:2、1、4、1。脚本执行来自2、1、4和1的命令。如果输入是
2,1,4,1
@MartinM,则会执行相同的操作-在FOR循环结束后,代码只是缺少一个GOTO菜单。+1它会工作得很好-我编辑了代码并添加了@dbenham提到的GOTO:MENU
。
:MENU
ECHO.
SET /P M=Type 1, 2, 3, 4 or 5 then press ENTER:
for %%C in (%M%) do (
call :%%C
)
goto :MENU
:1
GOTO :EOF
:2
GOTO :EOF
:3
GOTO :EOF
:4
GOTO :EOF
:5
EXIT