[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

我在网上找到一段关于流量监控的批处理,可是运行后计数全为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
复制代码

打开命令行窗口,执行:
netstat -e

把结果发出来看看

TOP

目测楼主系统下输出的 Bytes 是中文 字节

TOP

回复 2# DAIC

TOP

回复 4# easynet


就知道是这样...把两处
  1. findstr "Bytes"
复制代码
  1. findstr "Bytes 字节"
复制代码

TOP

回复 5# CrLf


    不管用

TOP

回复 6# easynet


    那就试试
  1. findstr /rc:"Bytes" /c:"字节"
复制代码

TOP

回复 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>
复制代码

TOP

回复 8# Linuxer


    findstr 处理中文经常要用 /r 开关,算是个缺陷吧

TOP

回复 9# CrLf


    加r,是模糊匹配,不加r是精确匹配,是不是这样理解?

TOP

回复 6# easynet


    就用
  1. findstr "字节"
复制代码
查询好了,简单一点。

TOP

回复 10# Linuxer


    见 findstr /?,其实 findstr 默认就是正则匹配,我也不知道为什么中文字符还要加 /r (印象中有人说有时候可以用 /l) 才能正确匹配到

TOP

回复 11# Linuxer


    能显示了,谢谢啊。但是为什么显示的流量与实际用的流量不相符?

TOP

回复 3# CrLf


     改成“findstr "字节"”后就能显示了,谢谢啊。但是为什么显示的流量与实际用的流量不相符?

TOP

回复 14# easynet
  1. set newrec=%%i/1024
  2. set newsent=%%j/1024
复制代码
这样试试。

TOP

返回列表