我参考了网上的资料做了个自动倒计退出代码如下:
@echo off
set t=5
set a=1
: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
很成功,5秒后知道退出,并且能够倒计时的
但我想问问在这代码里能否简化呢?
能否简化掉 :EX0 这呢,这里要用goto才能用很麻烦。
还有里面的
setlocal enableextensions
..................
endlocal
这标志有什么用?能说明一下吗?
@echo off
set t=5
set a=1
: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
很成功,5秒后知道退出,并且能够倒计时的
但我想问问在这代码里能否简化呢?
能否简化掉 :EX0 这呢,这里要用goto才能用很麻烦。
还有里面的
setlocal enableextensions
..................
endlocal
这标志有什么用?能说明一下吗?
