1个回答
展开全部
用批处理实现倒计时+按任意键继续不是太容易,给你个思路吧:
首先,批处理按任意键继续执行的命令只有pause,然而这条命令是没法跟计时命令ping相结合的,办法就是让这个批处理可以有“有参”和“无参”2种运行方式,就是开头用类似于【if "%~1"=="xxx" (goto Sub1) else (goto Sub2)】的语句,无参启动倒计时子程序和pause,有参直接运行你的批处理。
至于倒计时子程序,可以写在同一个批处理里,也可以分2个批处理写,它的代码就是ping 11次【ping 127.0.0.0 -n 11 >nul 2>&1】,然后结束主程序,并有参调用主程序。
最后,如果为了防止“手一抖,运行了2次”——你知道这会意味着什么,2个程序的计时会相互干扰的。一个简单的办法就是,启动时先判断自身是否已经运行?这一步的代码你不一定会,我给你写写吧,我们假设它的名称叫“倒计时批处理.bat”,代码如下:
title 123
for /f "usebackq tokens=1,2,3*" %%i in (`tasklist /v:windowtitle^|find /i "倒计时批处理.bat"`) do goto:eof
title倒计时批处理.bat
(如果要加这段代码,就需要放在我一开始跟你说的主程序的if语句之前)
首先,批处理按任意键继续执行的命令只有pause,然而这条命令是没法跟计时命令ping相结合的,办法就是让这个批处理可以有“有参”和“无参”2种运行方式,就是开头用类似于【if "%~1"=="xxx" (goto Sub1) else (goto Sub2)】的语句,无参启动倒计时子程序和pause,有参直接运行你的批处理。
至于倒计时子程序,可以写在同一个批处理里,也可以分2个批处理写,它的代码就是ping 11次【ping 127.0.0.0 -n 11 >nul 2>&1】,然后结束主程序,并有参调用主程序。
最后,如果为了防止“手一抖,运行了2次”——你知道这会意味着什么,2个程序的计时会相互干扰的。一个简单的办法就是,启动时先判断自身是否已经运行?这一步的代码你不一定会,我给你写写吧,我们假设它的名称叫“倒计时批处理.bat”,代码如下:
title 123
for /f "usebackq tokens=1,2,3*" %%i in (`tasklist /v:windowtitle^|find /i "倒计时批处理.bat"`) do goto:eof
title倒计时批处理.bat
(如果要加这段代码,就需要放在我一开始跟你说的主程序的if语句之前)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询