:EX
cls
color 2F
echo ---------------------------------------------
echo.
echo %t%秒后自动退出......
echo.
echo ---------------------------------------------
call :ProcDelay EX0
:EX0
set /a t=%t%-%a%
if %t% GTR 0 goto EX
@exit
:ProcDelay delayMSec_
setlocal enableextensions
for /f "tokens=1-4 delims=:. " %%h in ("%time%") do set start_=%%h%%i%%j%%k
:_procwaitloop
for /f "tokens=1-4 delims=:. " %%h in ("%time%") do set now_=%%h%%i%%j%%k
set /a diff_=%now_%-%start_%
if %diff_% LSS 100 goto _procwaitloop
endlocal & goto %1
这标志有什么用?能说明一下吗?作者: bagpipe 时间: 2006-6-7 17:39 这是你自己做的???呵呵,我想是贴人家的代码吧,willsort的延时批处理可就有这段代码,呵呵,唉,setlocal enableextensions这个是启用命令处理器扩展名,而endlocal就是结束他的使用范围了,endlocal如果出现批处理的末端没有多大意义,默认的就会执行endlocal语句了作者: austion 时间: 2006-6-7 17:47 :ProcDelay delayMSec_
setlocal enableextensions
for /f "tokens=1-4 delims=:. " %%h in ("%time%") do set start_=%%h%%i%%j%%k
:_procwaitloop
for /f "tokens=1-4 delims=:. " %%h in ("%time%") do set now_=%%h%%i%%j%%k
set /a diff_=%now_%-%start_%
if %diff_% LSS 100 goto _procwaitloop
endlocal & goto %1
这个是改了一下人家代码。
我想知道的是前面的代码能否精简,特别不想用goto来自动显示倒计。
在程序里call了之后是否返回使用call的地方(父批处理程序)?
[ Last edited by austion on 2006-6-7 at 18:47 ]作者: fastslz 时间: 2006-6-8 22:03 有个只有509字节的延时程序的Wait ,不过在CMD命令行下运行后跳转command模式了。作者: willsort 时间: 2006-6-9 02:54 Re austion:
:EX
cls
color 2F
echo ---------------------------------------------
echo.
echo %t%秒后自动退出......
echo.
echo ---------------------------------------------
call :ProcDelay
set /a t=%t%-%a%
if %t% GTR 0 goto EX
@exit
:ProcDelay
setlocal enableextensions
for /f "tokens=1-4 delims=:. " %%h in ("%time%") do set start_=%%h%%i%%j%%k
:_procwaitloop
for /f "tokens=1-4 delims=:. " %%h in ("%time%") do set now_=%%h%%i%%j%%k
set /a diff_=%now_%-%start_%
if %diff_% LSS 100 goto _procwaitloop
endlocal