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

[数值计算] 【已解决】批处理命令IF多条件判断怎样获取延迟最小的IP?

[复制链接]
发表于 2014-10-28 09:36:16 | 显示全部楼层 |阅读模式
本帖最后由 ads350668398 于 2014-10-28 17:53 编辑
  1. @echo off&setlocal enabledelayedexpansion



  2. set d=118
  3. for /f "tokens=1,2" %%a in (ms.txt) do (
  4.       
  5. if %%b lss !d! (set d=%%b
  6. set x=%%b
  7. set ip=%%a)
  8. )
  9. ::输出
  10. echo ip=%ip% 最小延迟=%d%
  11. pause
复制代码
ms.txt是以下文件 !!上面是找到最小的延迟输出IP .可是我发现了如果在出现一个如111 50的可以变化这输出 这也是目的
可但是 就以下文本内容 160 54先出现了 175 54也出现了在这样的条件下
SET z=(MS.TXT)
执行批处理if /i “%z%”==“%ip%” echo goto 2 else goto 没有找到
的时候使用 175和160还有其他的136都.。。能通过呢?(而不只是第一个160 54)
149 61
149 61
160 54
158 58
175 59
173 58
175 55
173 57
175 54
140 59
172 55
144 57
136 54
140 54

评分

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

查看全部评分

 楼主| 发表于 2014-10-28 09:41:55 | 显示全部楼层
一个可喜的消息 我的延迟正在负增长 哈哈
发表于 2014-10-28 10:06:00 | 显示全部楼层
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set "d=118"
  4. for /f "tokens=2" %%i in (ms.txt) do (
  5.     if %%i lss !d! (
  6.         set "d=%%i"
  7.     )
  8. )
  9. echo 最小延迟=%d%
  10. findstr "\<%d%$" ms.txt
  11. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

 楼主| 发表于 2014-10-28 10:14:36 | 显示全部楼层
怎么快 我去试试 谢谢哈哈
 楼主| 发表于 2014-10-28 10:21:17 | 显示全部楼层
不对啊 输出这个了
最小延迟=54
请按任意键继续. . .
------------
我想让这样输出??怎么办到

IP;=136最小延迟=54
       160              54
       140              54
请按任意键继续. . .
发表于 2014-10-28 10:29:23 | 显示全部楼层
回复 5# ads350668398


    第10行代码你是不是抄漏了?
 楼主| 发表于 2014-10-28 10:34:06 | 显示全部楼层
findstr /i "%d%" ms.txt>>28.txt
输出结果  带有54的全部行!!

160 54
175 54
136 54
140 54
154 60
154 56
154 55
172 54
136 54
发表于 2014-10-28 10:40:35 | 显示全部楼层
回复 7# ads350668398


    请照抄我的代码,不要自己瞎写。
 楼主| 发表于 2014-10-28 10:57:24 | 显示全部楼层
不对啊 输出这个了
最小延迟=54
请按任意键继续. . .
------------
我想让这样输出??怎么办到

IP;=136最小延迟=54
       160              54
       140              54
请按任意键继续. . .
 楼主| 发表于 2014-10-28 11:00:58 | 显示全部楼层
是枚举出所有最小延迟的IP !!!
发表于 2014-10-28 12:50:47 | 显示全部楼层
回复 9# ads350668398


     第10行代码你是不是抄漏了!!!
 楼主| 发表于 2014-10-28 13:01:07 | 显示全部楼层
没有啊不信你试试结果看看
发表于 2014-10-28 13:24:54 | 显示全部楼层
回复 12# ads350668398


有啊不信你试试结果看看
C:\Test>test.bat
最小延迟=54
160 54
175 54
136 54
140 54
请按任意键继续. . .
 楼主| 发表于 2014-10-28 17:32:09 | 显示全部楼层
本帖最后由 ads350668398 于 2014-10-28 17:51 编辑

@echo off
setlocal enabledelayedexpansion
set "d=118"
for /f "tokens=2" %%i in (ms.txt) do (
    if %%i lss !d! (
        set "d=%%i"
    )
)
echo 最小延迟=%d%
findstr /i "%d%" ms.txt>>28.txt
pause
以上为正确使出
160 54
175 54
136 54
140 54
发表于 2014-10-28 17:34:45 | 显示全部楼层
回复 14# ads350668398


    然后呢?还有其它问题么?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-20 19:27 , Processed in 0.033062 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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