返回列表 发帖

[数值计算] 【已解决】批处理中choice怎么加入倒计时跳动?

本帖最后由 hztccy 于 2025-3-30 18:42 编辑

以下是代码段落
@echo off
setlocal enabledelayedexpansion
::提示用户选择是否恢复书签
cls
echo.
echo ----------------------------------------------------------
echo  输入数字【1】执行下一步操作
echo ----------------------------------------------------------
echo  输入数字【2】不执行下一步操作
echo ----------------------------------------------------------
echo.
echo.
choice /C 12 /N /T 30 /D 2 /M "请选择【 30 秒后默认结束不恢复旧书签】"
if errorlevel 2 exit  :: 2 = 不恢复
if errorlevel 1 goto 执行  :: 1 = 恢复
pauseCOPY
我想在
choice /C 12 /N /T 30 /D 2 /M "请选择【 30 秒后默认结束不恢复旧书签】"COPY
中让【 30 】跳动起来,研究了半天始终无法达成。

大概就是无法达成吧

TOP

大概就是无法达成吧
Five66 发表于 2025-3-29 19:45



    应该是可以的,我记得好久之前看过其他大神的脚本是可以做到倒计时跑起来了,我试了好多代码,始终报错,实在懵逼了

TOP

回复 3# hztccy


  啊 ,一边要倒计时还要一边要接受输入 ,不能多线程不能获取消息 ,vt100的光标移动 + start /b么???

TOP

本帖最后由 microsoft_yaw 于 2025-3-30 11:28 编辑

是这种效果吗
@echo off & setlocal enabledelayedexpansion
set "count=30"
:loop
cls
echo.
echo ----------------------------------------------------------
echo  输入数字【1】执行下一步操作
echo ----------------------------------------------------------
echo  输入数字【2】不执行下一步操作
echo ----------------------------------------------------------
echo.
echo. & choice /C 120 /N /T 1 /D 0 /M "请选择【 !count! 秒后默认结束不恢复旧书签】:"
set /a "count-=1"
if "!errorlevel!" equ "1" (echo 1 & goto :end)
if "!errorlevel!" equ "2" (echo 2 & goto :end)
if !count! gtr 0 (goto :loop) else (echo 3 & goto :end)
:end
echo end
pauseCOPY

TOP

是这种效果吗
microsoft_yaw 发表于 2025-3-30 11:12



    对对对,就是这样的一个效果,我就说之前看别人写出过这样的效果,没道理我怎么找都找不到才对

TOP

感谢大家的分享!学习了

TOP

返回列表