[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
我记得是可以的,流量虽然监测不出来,但是可以监测到数据量,然后对比时间,可以知道大概速度。
检测数据流量命令: netstat -e
1

评分人数

TOP

另外,“性能日志与警报”里面,可以监测“网络速度”,低于一定程度,可以自动执行命令。

TOP

10# zm900612


批处理只能开启&停止 已经存在的“ 性能日志与警报” 项目。

警报默认只会在日志里面写入日志,要执行脚本,需要自己更改。
1

评分人数

TOP

本帖最后由 caruko 于 2011-7-7 08:32 编辑

试试这个脚本吧,主要为了防止数值溢出,所以直接去掉后3位,而不是/1024
  1. @echo off &setlocal ENABLEDELAYEDEXPANSION
  2. for /f "tokens=2" %%i in ('netstat -e ^|findstr "Bytes"') do (
  3.          set "kb=%%i"
  4.          set "kb=!kb:~0,-3!"
  5. )
  6. for /f "tokens=2,4,6,8" %%a in ('systeminfo ^|findstr "启动时间"') do (
  7.          set /a stime=( ( %%a*24 + %%b ) * 60 + %%c ) *60 + %%d
  8. )
  9. :loop
  10. ping -n 3000 127.1>nul
  11. for /f "tokens=2" %%i in ('netstat -e ^|findstr "Bytes"') do (
  12.          set "newkb=%%i"
  13.          set "newkb=!newkb:~0,-3!"
  14. )
  15. for /f "tokens=2,4,6,8" %%a in ('systeminfo ^|findstr "启动时间"') do (
  16.          set /a etime=( ( %%a*24 + %%b ) * 60 + %%c ) *60 + %%d
  17. )
  18. set /a ll= ( newkb-kb ) / ( etime - stime )
  19. if !ll! lss 20 (
  20.             shutdown -s -t 5
  21.             exit
  22. ) else (
  23.     set /a kb=newkb,stime=etime
  24.     goto :loop
  25. )
复制代码

TOP

用systeminfo为了省去调用%time%的计算麻烦。
倒是没注意过时间是否准确。

其实也就是大概判断,ping -n 3000 时间足够长了,循环不占用什么资源,倒是ping用的多,虽然可以用其它办法解决,比如设置计划任务。
其实就是图懒。

TOP

本帖最后由 caruko 于 2011-7-7 16:37 编辑

17# zm900612


WMIC的试了一下,都是准确的时间点。
如果要计算 时间差,可能需要 跨小时来计算,但最麻烦的是跨日期、跨月、甚至跨年。
比如 6月31晚上 挂机下载,那么时间到 7月1日后,计算就复杂多了。

而systeminfo 就没有这个麻烦,因为它的启动时间本身就是时间差,而不是时间点。

TOP

返回列表