@echo off
setlocal enabledelayedexpansion
/*
setlocal enabledelayedexpansion 设置本地为延迟扩展
变量延迟的启动语句是“setlocal enabledelayedexpansion”,并且变量要用一对叹号“!!”括起来(注意要用英文的叹号),否则就没有变量延迟的效果。
*/
goto cmd1
//goto 模块名 :跳转到对应模块
:cmd1
//模块名
echo 1.idea
echo 2.微信
echo 3.navicat
echo 4.QQ
echo 5.xshell
echo 6.xftp
echo 7.爱奇艺
echo 8.腾讯视频
echo 9.网易音乐
echo 10.chrome
echo 11.idea加微信
echo 12.双开微信
//页面
set qq[1]=D:\IntelliJ IDEA 2019.3\bin\idea64.exe
set qq[2]=D:\WEIXIN\WeChat\WeChat.exe
set qq[3]=D:\Navicat Premium\data\Navicat Premium 15\navicat.exe
set qq[4]=D:\QQ\Bin\QQScLauncher.exe
set qq[5]=D:\xshell绿化\Xshell+Xftp真正破解版(1)\Xshell 6\Xshell.exe
set qq[6]=D:\xshell绿化\Xshell+Xftp真正破解版(1)\Xftp 6\Xftp.exe
set qq[7]=D:\LenovoSoftstore\Install\aiqiyi\LStyle\9.6.158.5983\QyClient.exe
set qq[8]=D:\LenovoSoftstore\Install\tengxunshibin\QQLive.exe
set qq[9]=D:\Wangyi\CloudMusic\cloudmusic.exe
set qq[10]=C:\Users\Wyh\AppData\Local\Google\Chrome\Application\chrome.exe
//定义数组 数组值为需要打开的程序路径 下面会以对应角标作为变量参照
set /p value=请输入
if %value%==11 (
goto cmd2
//模块跳转
exit
) else if %value%==12 (
goto cmd3
//模块跳转
exit
)else (
start "" "!qq[%value%]!"//因为设置本地延迟拓展所以要用!!
goto cmd1
)
//主要逻辑 将输入的变量作为数组脚标做判断
:cmd2
start "" "!qq[1]!"
start "" "!qq[2]!"
goto cmd1
pause
//对应模块需要执行的命令
:cmd3
start "" "!qq[2]!"
start "" "!qq[2]!"
pause
goto cmd1
所用知识点
setlocal enabledelayedexpansion 设置本地为延迟扩展
变量延迟的启动语句是“setlocal enabledelayedexpansion”,并且变量要用一对叹号“!!”括起来(注意要用英文的叹号),否则就没有变量延迟的效果。
goto 模块名 跳转到对应模块
": 模块名" goto跳转后需要调用的模块 下边对应需要执行的命令
数组
@echo off
set a[0]=1
echo %a[0]%
执行结果为 1