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

[网络连接] 流量监控的批处理怎么修改?

[复制链接]
发表于 2014-8-19 15:39:29 | 显示全部楼层 |阅读模式
我在网上找到一段关于流量监控的批处理,可是运行后计数全为0,不知这个批处理哪有问题,请帮忙看看。我的系统是WIN8.1。
  1. @echo off & setlocal ENABLEDELAYEDEXPANSION
  2. MODE con: COLS=22 LINES=10

  3. for /f "tokens=2,3" %%i in ('netstat -e ^|findstr "Bytes"') do (
  4.     set oldrec=%%i
  5.     set oldsent=%%j
  6. )

  7. :loop

  8. echo WScript.Sleep 1000 > %temp%\tmp$.vbs
  9. cscript //nologo %temp%\tmp$.vbs

  10. for /f "tokens=2,3" %%i in ('netstat -e ^|findstr "Bytes"') do (
  11.     set newrec=%%i
  12.     set newsent=%%j
  13. )

  14. set /a rec=(%newrec%-%oldrec%)*8/1024
  15. set /a sent=(%newsent%-%oldsent%)*8/1024

  16. cls
  17. echo 下载流量:%rec% kbits
  18. echo.
  19. echo 上传流量:%sent% kbits
  20. set /a oldrec=newrec
  21. set /a oldsent=newsent
  22. goto :loop
复制代码
发表于 2014-8-19 15:51:03 | 显示全部楼层
打开命令行窗口,执行:
netstat -e

把结果发出来看看
发表于 2014-8-19 15:55:55 | 显示全部楼层
目测楼主系统下输出的 Bytes 是中文 字节
 楼主| 发表于 2014-8-19 15:59:26 | 显示全部楼层
回复 2# DAIC
发表于 2014-8-19 16:05:38 | 显示全部楼层
回复 4# easynet


就知道是这样...把两处
  1. findstr "Bytes"
复制代码
  1. findstr "Bytes 字节"
复制代码
 楼主| 发表于 2014-8-19 16:15:34 | 显示全部楼层
回复 5# CrLf


    不管用
发表于 2014-8-19 16:27:41 | 显示全部楼层
回复 6# easynet


    那就试试
  1. findstr /rc:"Bytes" /c:"字节"
复制代码
发表于 2014-8-19 16:29:02 | 显示全部楼层
回复 5# CrLf

是不是不用加Bytes?
  1. findstr "字节"
复制代码
我这加Bytes执行没有结果。
  1. C:\Windows\system32>netstat -e | findstr "Bytes 字节"

  2. C:\Windows\system32>
  3. C:\Windows\system32>
  4. C:\Windows\system32>netstat -e | findstr "字节"
  5. 字节                    4209033302        91175807

  6. C:\Windows\system32>
复制代码
发表于 2014-8-19 16:30:00 | 显示全部楼层
回复 8# Linuxer


    findstr 处理中文经常要用 /r 开关,算是个缺陷吧
发表于 2014-8-19 16:34:25 | 显示全部楼层
回复 9# CrLf


    加r,是模糊匹配,不加r是精确匹配,是不是这样理解?
发表于 2014-8-19 16:38:38 | 显示全部楼层
回复 6# easynet


    就用
  1. findstr "字节"
复制代码
查询好了,简单一点。
发表于 2014-8-19 17:00:07 | 显示全部楼层
回复 10# Linuxer


    见 findstr /?,其实 findstr 默认就是正则匹配,我也不知道为什么中文字符还要加 /r (印象中有人说有时候可以用 /l) 才能正确匹配到
 楼主| 发表于 2014-8-21 22:04:48 | 显示全部楼层
回复 11# Linuxer


    能显示了,谢谢啊。但是为什么显示的流量与实际用的流量不相符?
 楼主| 发表于 2014-8-21 22:07:02 | 显示全部楼层
回复 3# CrLf


     改成“findstr "字节"”后就能显示了,谢谢啊。但是为什么显示的流量与实际用的流量不相符?
发表于 2014-8-21 22:13:31 | 显示全部楼层
回复 14# easynet
  1. set newrec=%%i/1024
  2. set newsent=%%j/1024
复制代码
这样试试。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-21 04:31 , Processed in 0.040544 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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