批处理如下:
@echo off
set d0=%date:~0,10%
set d0=%d0:-=%
set t0=%time:~0,8%
set t0=%t0::=%
set t0=%t0:~0,-2%
if "%t0:~0,1%"=="0" set "t0=%t0:~1%"
if "%t0:~0,1%"=="0" set "t0=%t0:~1%"
if "%t0:~0,1%"=="0" set "t0=%t0:~1%"
FOR /F "tokens=6,8 delims= " %%i in ('net time \\server ^|find "GMT"') do (
set d1=%%i
set t1=%%j
)
set d1=%d1:/=%
set t1=%t1::=%
if "%t1:~0,1%"=="0" set "t1=%t1:~1%"
if "%t1:~0,1%"=="0" set "t1=%t1:~1%"
if "%t1:~0,1%"=="0" set "t1=%t1:~1%"
set /a d=%d0%-%d1%
set /a t=%t0%-%t1%
if not "%d%" == "0" goto :err
if %t% leq -10 goto :err
if %t% geq 10 goto :err
exit
:err
echo %computername% 时间相差过大 > \\server\日志保存$\%computername%.txt
pause
exit
其中这一段不懂请高手帮帮忙解释一下,谢谢!
FOR /F "tokens=6,8 delims= " %%i in ('net time \\server ^|find "GMT"') do (
set d1=%%i
set t1=%%j
)
就是这里('net time \\server ^|find "GMT"')不懂,GMT字符为起始位吗?为什么不写成('net time \\server |find "GMT"').
请高手答疑解惑。
Last edited by fd2000 on 2007-4-2 at 09:14 PM ]