[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[其他] 请教精简批处理if命令

  1. set /p Z=输入对应字符回车:
  2. if not "%Z%"=="" set Z=%Z:~0,2%
  3. if "%Z%"=="0" goto 0
  4. if "%Z%"=="1" goto 1
  5. if "%Z%"=="2" goto 2
  6. if "%Z%"=="3" (set "Aa=视频"&goto 3)
  7. if "%Z%"=="4" (set "Aa=电影"&goto 3)
  8. if "%Z%"=="5" goto 5
  9. if "%Z%"=="6" goto 6
  10. if "%Z%"=="7" goto 7
  11. if "%Z%"=="8" goto 8
  12. if "%Z%"=="9" goto 9
  13. if "%Z%"=="a" goto a
  14. if "%Z%"=="b" goto b
  15. if "%Z%"=="c" goto c
  16. if "%Z%"=="d" goto d
  17. if "%Z%"=="e" goto e
  18. if "%Z%"=="f" goto f
  19. if "%Z%"=="g" goto g
  20. if "%Z%"=="h" goto h
  21. if "%Z%"=="i" goto i
  22. if "%Z%"=="j" goto j
  23. echo 选择无效,请重新输入!
  24. ping 0 -n "1">nul&goto Cho
复制代码
精减写成
set /p Z=输入对应字符回车:
精减成goto %Z%
但输入不存在的跳转时闪退 有没有精减又不闪退的方法

本帖最后由 smss 于 2019-4-6 21:19 编辑
参考:顺便回复另一贴
xczxczxcz 发表于 2019-4-6 19:09


如果大于9呢 [0-12a-m] 数字不行

TOP

本帖最后由 smss 于 2019-4-6 21:43 编辑

回复 4# xczxczxcz

目前只写了12个 因些想指定0-12范围

echo %Z%|findstr /i "^[0-9a-m]$ ^[1-12][0-12]$">nul&&(

TOP

本帖最后由 smss 于 2019-4-6 21:52 编辑
"^[0-9a-jq]$ ^[1-9][0-9]$" 改成 "^[0-9a-mq]$ ^1[0-2]$"
xczxczxcz 发表于 2019-4-6 21:42

好的另外多说句 如果要关闭就直接点叉了 为什么要在里面加个Q关闭

TOP

你这个脚本写的话,命令可能比较多,说明提示肯定是需要的,不如单独写一个说明文件, 把命令和注释按不同的行开 ...
whiter 发表于 2019-4-7 12:29

因为我太笨了,这脚本主要用来调取JAVA解包打包的.写成EXE 就可以变成和ROM制作工具一样的(他们都内置推广软件的)

TOP

返回列表