[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[网络连接] [已解决]win7下批处理如何获取最快的服务器?

想弄一个最快的服务器,然后获取最快的服务器IP地址,结果这个代码在XP下可用,win7下面就出错,不能查找到最快的服务器,想请各位帮忙看看,谢谢!
代码如下:
  1. @echo off
  2. mode con COLS=37 lines=5
  3. color 0a
  4. cls
  5. net config workstation |(find /i "windows 7")&&(goto windows7)
  6. ver |(find /i "windows XP")&&(goto xp)||(goto notxpandwindows7)
  7. exit
  8. :xp
  9. echo 正在搜索最快的服务器...
  10. echo.
  11. echo 30秒后打开网页,请稍后...
  12. echo.
  13. setlocal enabledelayedexpansion
  14. set f=9999
  15. for %%i in (www.baidu.com www.qq.com www.sina.com.cn) do (
  16. for /f "tokens=4 delims==" %%j in ('ping -n 3 %%i^|findstr Average') do (
  17. set s=%%j
  18. set /a s=!s:ms=!
  19. if !s! lss !f! set f=!s!&set ff=%%i))
  20. echo 最快的服务器是!ff!  !f!ms
  21. for /f "tokens=2 delims=[]" %%a in ('ping !ff!^|findstr "Ping"') do (
  22.     set IP=%%a
  23. )
  24. echo,%IP%
  25. pause
  26. exit
  27. :windows7
  28. echo 这段代码错误
  29. echo 正在搜索最快的服务器...
  30. echo.
  31. echo 30秒后打开网页,请稍后...
  32. echo.
  33. setlocal enabledelayedexpansion
  34. set f=9999
  35. for %%i in (www.baidu.com www.qq.com www.sina.com.cn) do (
  36. for /f "tokens=4 delims==" %%j in ('ping -n 3 %%i^|findstr /i "平均  Average"'') do (
  37. set s=%%j
  38. set /a s=!s:ms=!
  39. if !s! lss !f! set f=!s!&set ff=%%i))
  40. echo 最快的服务器是!ff!  !f!ms
  41. for /f "tokens=2 delims=[]" %%a in ('ping !ff!^|findstr "Ping"') do (
  42.     set IP=%%a
  43. )
  44. echo,%IP%
  45. pause
  46. exit
  47. :notxpandwindows7
  48. echo.
  49. echo.
  50. echo 您的系统不是xp和win7
  51. echo 5秒后退出
  52. ping /n 5 127.0.0.1>nul
  53. exit
复制代码
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

把@echo off删掉,看看执行到哪一步出现的问题。

TOP

  1. :windows7
  2. echo 这段代码错误
  3. echo 正在搜索最快的服务器...
  4. echo.
  5. echo 30秒后打开网页,请稍后...
  6. echo.
  7. setlocal enabledelayedexpansion
  8. set f=9999
  9. for %%i in (www.baidu.com www.qq.com www.sina.com.cn) do (
  10. for /f "tokens=4 delims==" %%j in ('ping -n 3 %%i^|findstr Average') do (
  11. set s=%%j
  12. set /a s=!s:ms=!
  13. if !s! lss !f! set f=!s!&set ff=%%i))
  14. echo 最快的服务器是!ff!  !f!ms
  15. for /f "tokens=2 delims=[]" %%a in ('ping !ff!^|findstr "Ping"') do (
  16.     set IP=%%a
  17. )
  18. echo,%IP%
  19. pause
复制代码
这一段出错,不知道错在哪里

TOP

回复 3# a87750530


    出错是什么概念,请说明症状

TOP

  1. 'ping -n 3 %%i^|findstr Average'
复制代码
你是中文版的吧,那你这个for执行不了,win7显示是中文的,应该是平均或者平均时间什么的

TOP

回复 3# a87750530


    win7的ping显示的是 平均,winXP的ping显示的是 Average

将findstr  Average 改成 findstr /i "平均  Average" 应该就可以鸟
2

评分人数

TOP

回复 6# apang


    原来如此谢谢楼上的,批处理在win7下原来加入了中文字符,这个得好好学学了!

TOP

返回列表