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

[文本处理] choice /t 2 /d n 不能延时默认选择了?

求助各位大佬,第59行的choice /t 2 /d n为什么不能延迟2秒后自动选择N了?
我自己尝试了,与延迟环境变量好像无关,独立出来倒是可以实现……
  1. @echo off
  2. cd %~dp0
  3. %~d0
  4. ::为了防止拖拽文件时路径出错
  5. setlocal enabledelayedexpansion
  6. ::延迟环境变量
  7. set null=
  8. ::用于控制输出空格的变量
  9. cls
  10. set /p=<nul >>bat.inf
  11. ::创建一个读入参数的文件bat.inf
  12. ( set /p pm= && set /p mode=)<bat.inf
  13. ::读入两行参数
  14. set mode=1
  15. :begin
  16. cls
  17. title Autosub自动处理(冰灵_nuitka版) by Nolca v0.1
  18. if not "%~1"=="" title [多文件自动]Autosub自动处理(冰灵_nuitka版) by Nolca v0.1
  19. echo Autosub自动处理(冰灵_nuitka版) by Nolca v0.1
  20. if not "%~1"=="" echo 即将处理以下文件:
  21. for %%i in (%*) do echo %%i
  22. echo.
  23. echo 当前参数:%pm%
  24. set /p="当前模式:" <nul
  25. if %mode%=="" echo 仅时间轴
  26. if %mode%==1 echo 时间轴+语音识别
  27. if %mode%==2 echo unfinished
  28. if %mode%==3 echo 仅识别
  29. echo.
  30. echo  1.设置 ^>2^<开始 3.帮助 4.调试
  31. echo.
  32. choice /c 12340 /t 1 /d 2 >nul
  33. if %errorlevel%==1 goto setting
  34. if %errorlevel%==2 goto work
  35. if %errorlevel%==3 goto about
  36. if %errorlevel%==4 goto debug
  37. if %errorlevel%==5 exit
  38. goto begin
  39. :setting
  40. set /p pm=<bat.inf
  41. echo _____________________________
  42. echo ^>^>设置^>^>(目前参数:%pm%)
  43. echo.
  44. echo  1.导出模式  2.翻译  3.  4.ffmpeg(卡顿相关)  5.Auditok断句  6.api  7.dos语言环境  8.缓存清理  9.手动输参  0.返回
  45. echo.
  46. choice /c 1234567890 >nul
  47. if %errorlevel%==1 goto s_mode
  48. if %errorlevel%==2 goto s_trans
  49. if %errorlevel%==3 goto s_
  50. if %errorlevel%==4 goto s_ffmpeg
  51. if %errorlevel%==5 goto s_auditok
  52. if %errorlevel%==6 goto s_api
  53. if %errorlevel%==7 goto s_doslang
  54. if %errorlevel%==8 goto s_clean
  55. if %errorlevel%==9 (
  56. choice /t 2 /d n /m 清除参数
  57. if !errorlevel!==1 set /p=<nul>bat.inf
  58. echo 查看帮助文档,调整参数
  59. start bat.inf
  60. pause)
  61. ::括号内不能输入注释
  62. ::问题在第59行,为什么 choice /t 2 /d n 不会延时默认选择了???
  63. if %errorlevel%==10 goto begin
  64. goto setting
复制代码

回复 2# Gin_Q
换成
choice /c YN /t 2 /d n /m 清除参数
也无济于事啊

第一次choice还可以延时自动选择

TOP

/D    choice        在 nnnn 秒之后指定默认选项。字符必须在用 /C 选
                       项指定的一组选择中; 同时,必须用 /T 指定 nnnn。

TOP

返回列表