[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]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
复制代码

xuexixiexie!!

TOP

xuexixiexie!!

TOP

  1. @echo off
  2. MODE con: COLS=22 LINES=10
  3. for /f "tokens=2,3" %%i in ('netstat -e ^|findstr /i "Bytes 字节"') do (
  4.     set rec=%%i
  5.     set sent=%%j
  6. )
  7. :loop
  8. echo WScript.Sleep 1000 > "%temp%\tmp$.vbs"
  9. cscript //nologo "%temp%\tmp$.vbs"
  10. cls
  11. (for /f "tokens=2,3" %%i in ('netstat -e ^|findstr /i "Bytes 字节"') do (
  12.     echo res=FormatNumber((%%i-%rec%^)*8/1024, 2, true^)
  13.     echo sent=FormatNumber((%%j-%sent%^)*8/1024, 2, true^)
  14.     echo WScript.Echo "下载流量:" ^& res ^& " kbits"
  15.     echo WScript.Echo ""
  16.     echo WScript.Echo "上传流量:" ^& sent ^& " kbits"
  17.     set rec=%%i
  18.     set sent=%%j
  19. )) > "%temp%\tmp$.vbs"
  20. cscript //nologo "%temp%\tmp$.vbs"
  21. goto :loop
复制代码

TOP

回复 16# easynet


    嗯,是不对的,昨天理解错了。
我也没搞明白为什么不一致。查资料也没查出有用的信息。

TOP

回复 8# Linuxer


C:\Windows\System32>set /a 4209033302
无效数字。数字精确度限为 32 位。

TOP

回复 15# Linuxer


    不行,成负数了。

TOP

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

TOP

回复 3# CrLf


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

TOP

回复 11# Linuxer


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

TOP

回复 10# Linuxer


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

TOP

回复 6# easynet


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

TOP

回复 9# CrLf


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

TOP

回复 8# Linuxer


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

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

返回列表