在批处理文件中使用ping来确定最快的服务器

时间:2011-11-01 15:20:54

标签: batch-file ping

我想ping我们公司网络中的2台服务器,并确定哪台服务器最快(基于ping和[ping]的最小值= [n] ms)。然后使用最快的服务器做一些事情。

伪代码:

a = Ping MyServerA
b = Ping MyServerB
if (a < b)
    copy from x to c:\
else
    copy from y to c:\

P.S。请输入一个工作脚本,因为我真的不太了解批处理文件的内容,例如:“for / F”tokens = 3“%% a in(reg2.txt)do set MyDocs = %% a”

1 个答案:

答案 0 :(得分:3)

此代码获取FastestServer变量中最快的服务器,因此您可以在任何命令中使用它,即copy %FastestServer% ...

@echo off
set MyServerA=127.0.0.1
set MyServerB=127.0.0.2
for /f "tokens=2 delims==," %%a in ('ping %MyServerA% -n 1 -w 1000') do set MinServerA=%%a
for /f "tokens=2 delims==," %%b in ('ping %MyServerB% -n 1 -w 1000') do set MinServerB=%%b
set MinServerA=%MinServerA:~0,-2%
set MinServerB=%MinServerB:~0,-2%
if %MinServerA% lss %MinServerB% (
    set FastestServer=%MyServerA%
    ) else (
    set FastestServer=%MyServerB%
)
echo Fastest Server: %FastestServer%

我希望代码不言自明,并且会按预期工作。如果您还有其他问题,请发布!