@echo off
setlocal
set t1=0
set t2=0
call :time t1
ping -n 3 127.0.0.1>NUL
call :time t2
for /f "delims=" %%t in ('set /a "t2-t1"') do echo %%t (ms)
endlocal
goto :EOF
:time
set h=0
set m=0
set s=0
set _=0
set t=
:: 標準出力を介して改行コードを渡すことで、timeコマンドを終了させる。
for /f "tokens=2 delims= " %%t in ('echo.^|time') do set t=%%t
:: 8進数として解釈されないよう 0を加算する。
for /f "tokens=1,2 delims=." %%a in ('echo %t%') do (
set t=%%a
set _=%%b+0
)
for /f "tokens=1-3 delims=:" %%a in ('echo %t%') do (
set /a h=%%a+0
set /a m=%%b+0
set /a s=%%c+0
)
set /a %1=%h%*3600000+%m%*60000+%s%*1000+%_%
goto :EOF
silverwire
#5668()
[
Batchfile
]
Rating0/0=0.00
@echo off setlocal set t1=0 set t2=0 call :time t1 ping -n 3 127.0.0.1>NUL call :time t2 for /f "delims=" %%t in ('set /a "t2-t1"') do echo %%t (ms) endlocal goto :EOF :time set h=0 set m=0 set s=0 set _=0 set t= :: 標準出力を介して改行コードを渡すことで、timeコマンドを終了させる。 for /f "tokens=2 delims= " %%t in ('echo.^|time') do set t=%%t :: 8進数として解釈されないよう 0を加算する。 for /f "tokens=1,2 delims=." %%a in ('echo %t%') do ( set t=%%a set _=%%b+0 ) for /f "tokens=1-3 delims=:" %%a in ('echo %t%') do ( set /a h=%%a+0 set /a m=%%b+0 set /a s=%%c+0 ) set /a %1=%h%*3600000+%m%*60000+%s%*1000+%_% goto :EOFRating0/0=0.00-0+
[ reply ]