本帖最后由 gmwd18 于 2012-2-28 17:38 编辑
下面是小弟最近写的一个统计ping的返回信息的一个批处理中的一段代码,但是运行后总是提示此时不应有delims,我找不出原因,
请各位大大帮忙看下,不胜感谢!
先说明一下,ip.txt里面是存放的要ping的ip,ip的存放格式为 地名:ip地址,每个ip 一行;\request文件夹下存放的是以Ip地址命名的txt文件,每个文件里面是ping的返回信息,
第二个for那里的\<统计信息\>是为了匹配ping返回信息里的字符串,因为我的系统是win7中文版,现在我想统计一下每个ip的丢包率,代码如下:- @echo off
- setlocal enabledelayedexpansion
- for /f "delims=: tokens=1,2" %%e in (%~dp0\ipinfo\ip.txt) do (
- set rep=%%e
- set repo=%%f
- echo !repo!
- for /f "delims=:" %%g in ('findstr /n "\<统计信息\>" "%~dp0\request\!repo!.txt"') do (
- set cou=%%g
- echo !cou!
- for /f "skip=%cou% delims=: tokens=2" %%h in (%~dp0\request\!repo!.txt) do (
- set str=%%h
- set str=!str:~-9,-1!
- echo !str!
- )))
- pause
复制代码 现在就是第三个for 执行不下去,总提示此时不应有delims,我找不出哪里错了,请大家帮忙看看,谢谢了! |