找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 26901|回复: 6

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

[复制链接]
发表于 2013-5-1 13:43:58 | 显示全部楼层 |阅读模式
想弄一个最快的服务器,然后获取最快的服务器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
复制代码

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2013-5-1 15:13:50 | 显示全部楼层
把@echo off删掉,看看执行到哪一步出现的问题。
 楼主| 发表于 2013-5-1 15:47:17 | 显示全部楼层
  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
复制代码
这一段出错,不知道错在哪里
发表于 2013-5-1 19:28:28 | 显示全部楼层
回复 3# a87750530


    出错是什么概念,请说明症状
发表于 2013-5-1 19:50:00 | 显示全部楼层

  1. 'ping -n 3 %%i^|findstr Average'
复制代码
你是中文版的吧,那你这个for执行不了,win7显示是中文的,应该是平均或者平均时间什么的
发表于 2013-5-1 19:55:58 | 显示全部楼层
回复 3# a87750530


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

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

评分

参与人数 2技术 +2 收起 理由
a87750530 + 1 谢谢你,解决问题了。
Batcher + 1 乐于助人

查看全部评分

 楼主| 发表于 2013-5-1 20:19:14 | 显示全部楼层
回复 6# apang


    原来如此谢谢楼上的,批处理在win7下原来加入了中文字符,这个得好好学学了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 04:54 , Processed in 0.019180 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表