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