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

[文本处理] 【已解决】开启了变量延迟,为什么for结果还是不能正常赋值?

[复制链接]
发表于 2017-12-2 16:32:41 | 显示全部楼层 |阅读模式
本帖最后由 zds612 于 2017-12-5 11:21 编辑

小白一个,想要获取一个ping结果文本的丢包率

希望通过两次for来获取并赋值,但是总是不成功,求指导

或者是否有更优雅的方式实现?求例子,谢谢!
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "tokens=2 delims=(" %%i in ('find "数据包" d:\ping_test.txt') do set "mc = %%i"
  4. echo %mc%
  5. rem for /f "tokens=1 delims= " %%i in (%mc%) do echo %%i
  6. pause
复制代码
ping_test.txt内容

  1. 正在 Ping 132.147.176.50 具有 32 字节的数据:
  2. 来自 132.147.176.50 的回复: 字节=32 时间<1ms TTL=64
  3. 来自 132.147.176.50 的回复: 字节=32 时间<1ms TTL=64
  4. 来自 132.147.176.50 的回复: 字节=32 时间<1ms TTL=64
  5. 来自 132.147.176.50 的回复: 字节=32 时间<1ms TTL=64
  6. 来自 132.147.176.50 的回复: 字节=32 时间<1ms TTL=64
  7. 来自 132.147.176.50 的回复: 字节=32 时间<1ms TTL=64
  8. 来自 132.147.176.50 的回复: 字节=32 时间<1ms TTL=64
  9. 来自 132.147.176.50 的回复: 字节=32 时间<1ms TTL=64
  10. 来自 132.147.176.50 的回复: 字节=32 时间<1ms TTL=64
  11. 来自 132.147.176.50 的回复: 字节=32 时间<1ms TTL=64

  12. 132.147.176.50 的 Ping 统计信息:
  13.     数据包: 已发送 = 10,已接收 = 10,丢失 = 0 (0% 丢失),
  14. 往返行程的估计时间(以毫秒为单位):
  15.     最短 = 0ms,最长 = 0ms,平均 = 0ms
复制代码
发表于 2017-12-2 16:54:19 | 显示全部楼层
本帖最后由 Blitz 于 2017-12-2 17:09 编辑

把第一个for的set  "mc = %%i"等号两边的空格去掉就行了
变量延迟也没必要开
第二个for也可以删掉
分隔符换成中文逗号似乎好点
  1. @echo off
  2. for /f "tokens=3 delims=," %%i in ('find "数据包" d:\ping_test.txt') do set "mc=%%i"
  3. echo %mc%
  4. pause
复制代码
想了一下你应该是想获取到0这个数字:
  1. @echo off
  2. for /f "tokens=3 delims=," %%i in ('find "数据包" ping_test.txt') do set "mc=%%i"
  3. for /f "tokens=3" %%a in ("%mc%") do echo %%a
  4. pause
复制代码
发表于 2017-12-2 19:00:42 | 显示全部楼层
回复 2# Blitz


    楼主所言甚是,其他语言搞个空格没事,这里就行通了。
 楼主| 发表于 2017-12-5 11:21:31 | 显示全部楼层
回复 2# Blitz


    非常感谢,新手遇到此类问题,死活找不出问题,真是蛮头疼的,还好有之家大侠相助,再次感谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-18 01:50 , Processed in 0.027217 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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