2>1/* :: @echo off &set/p "l=等候时长(输入格式为 分:秒 例如 0:30 或 5:45):" for /f "tokens=1-2 delims=::" %%a in ("%l%") do set/a "t=(60*%%a+%%b)*1000" set/p="...回车开始计时:" cscript /nologo /e:jscript "%~f0" %t% echo,&echo,...计时结束&pause&exit/b */ v=WSH.arguments, rt=v(0); for (dt=0,t0=(new Date()); dt<rt; dt=t-t0) { t=new Date(), ts=t.toString().match(/\d+:\d+:\d+/)+'.'+t.getMilliseconds(), WSH.stdout.write('\r'+ts); WSH.sleep(50); } WSH.quit();
订正了一楼代码: 一。如果等候时长的输入值加了前缀 - 负号,则会动态显示 倒计时 。 二。计时结束增加了提示音,如不喜欢,可删除代码末尾行中的 WSH.stdout.write(String.fromCharCode(7)), 即可。