我想知道是否可以在一个没有“ms”的变量中获取ping,并且能够与变量进行一些乘法。
我的实际代码:
@ECHO OFF
CALL :ping google.com
SET PING1=%ms%
ECHO %ping1%
GOTO :EOF
:ping
SET ms=Error
FOR /F "tokens=4 delims==" %%i IN ('ping.exe -n 1 %1 ^| FIND "ms"') DO SET ms=%%i
GOTO :EOF
答案 0 :(得分:3)
将ms
添加到您的delims FOR /F "tokens=4 delims==ms" ...
答案 1 :(得分:1)
要修复现有代码,您只需set "ms=%ms:ms=%"
即可删除值中的“ms”。
我不久前学会了nifty method of pinging,可能符合您的需求。
@echo off & setlocal
call :ping www.google.com ms
echo %ms%
goto :EOF
:ping <host/IP> <return_var>
setlocal
set "responsetime=Error"
for /F %%I in (
'wmic path win32_pingstatus where "address='%~1'" get responsetime /value'
) do 2>NUL set /a %%I
endlocal & set "%~2=%responsetime%" & goto :EOF