找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 23104|回复: 2

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

[复制链接]
发表于 2020-3-18 16:45:45 | 显示全部楼层 |阅读模式
求助各位大佬,第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
复制代码
发表于 2020-3-18 20:34:52 | 显示全部楼层
/D    choice        在 nnnn 秒之后指定默认选项。字符必须在用 /C 选
                       项指定的一组选择中; 同时,必须用 /T 指定 nnnn。
 楼主| 发表于 2020-3-19 08:26:08 | 显示全部楼层
回复 2# Gin_Q
换成
choice /c YN /t 2 /d n /m 清除参数
也无济于事啊

第一次choice还可以延时自动选择
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 15:51 , Processed in 0.010625 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表