Board logo

标题: [系统相关] 批处理如何获取电脑当前上传/下载网速?或者某个程序? [打印本页]

作者: TAT    时间: 2023-5-6 00:05     标题: 批处理如何获取电脑当前上传/下载网速?或者某个程序?

问题如题,需要判断网速用来写个自动化脚本



批处理如何获取电脑当前上传/下载网速?或者某个程序?
作者: czjt1234    时间: 2023-5-6 08:13

本帖最后由 czjt1234 于 2023-5-6 08:15 编辑
  1. rem 另存为 ANSI 编码
  2. ' & cls & cscript.exe /nologo /e:vbscript "%~f0" & pause & exit
  3. n = 3    '几秒刷新一次。改成0则表示只显示一次数据,不循环刷新
  4. Set oWMI = GetObject("Winmgmts:\\.\Root\Cimv2")
  5. Set oRefresher = CreateObject("WbemScripting.SWbemRefresher")
  6. Set oNet = oRefresher.AddEnum(oWMI, "Win32_PerfFormattedData_Tcpip_Networkinterface")
  7. Do
  8.     oRefresher.Refresh()
  9.     For Each i In oNet.ObjectSet
  10.         s = "上行 " & i.BytesSentPersec     & vbCrLf & _
  11.             "下行 " & i.BytesReceivedPersec & vbCrLf
  12.         WScript.Echo s
  13.     Next
  14.     If n = 0 Then WScript.Quit()
  15.     WScript.Sleep n * 1000
  16. Loop
复制代码


win7x64测试通过
作者: lancer    时间: 2023-5-8 09:47

回复 2# czjt1234


    这速度单位是kb???
作者: czjt1234    时间: 2023-5-8 10:03

回复 3# lancer


    字节
作者: TAT    时间: 2023-5-11 21:54

回复 2# czjt1234


    首先,很抱歉这么晚回帖,工作事情太多了,最近电脑都没开,感谢分享!
    Win10x64测试能跑,但是代码内容看的不太明白,
    开头第一行为啥非要用cscript.exe这个工具,我一般都是@echo off改个回显,有时开下延迟变量,这块查资料也没理解。
    如下为实际测试截图,计算机进程就有cscript.exe



作者: czjt1234    时间: 2023-5-12 06:23

回复 5# TAT


   纯批处理功能很少的,必须调用外部命令,或者是第三方命令

cscript.exe 是 windows 自带的外部命令,作用是运行 vbs

该 vbs 中调用了windows管理工具 WMI 以获取当前网速

目前只知道 WMI 有这个功能,不知道是否有其它命令可以实现该功能
作者: buyiyang    时间: 2023-5-12 12:04

  1. @echo off
  2. title 网速
  3. mode con cols=50 lines=6
  4. echo.
  5. set "CUU="
  6. set /p=[?25l<nul
  7. echo,    下行                  上行
  8. :test
  9. wmic path Win32_PerfFormattedData_Tcpip_Networkinterface get BytesSentPersec,BytesReceivedPersec
  10. echo,%CUU%
  11. timeout /t 1 /nobreak>nul
  12. goto test
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2