找回密码
 加入
搜索
楼主: 不是小灵通

[网络通信] [没有解决就是已解决]想做个检测网线的程序,不知怎么写

 火.. [复制链接]
 楼主| 发表于 2017-5-26 12:17:10 | 显示全部楼层
本帖最后由 不是小灵通 于 2017-5-26 12:24 编辑

谢谢各位的意见,主要是我们当时做网络布线的时候,自己学校的老师亲自爬上去接的线,当时机房建设时间紧(校园搬迁,1000台机器1周时间恢复功能),并没有能做到在网线上打标,加之网线也是紧急购买的成品线,质量不好,几年后陆续出现氧化现象,造成传输质量下降。目前我们已将网络改造纳入计划,不日完成。
只是一直困扰的测线功能没能实现。大家的热心解答我们表示感谢!
发表于 2017-5-27 22:35:50 | 显示全部楼层
本帖最后由 28002673 于 2017-6-7 01:12 编辑

AU3不是万能的,试试这个dos命令  可以判断是百兆还是千兆

wmic path Win32_PerfFormattedData_Tcpip_NetworkInterface get Name,CurrentBandwidth,BytesTotalPersec

自己在千兆模式下运行一次,然后把网卡设置为强制百兆,再运行一次,你就知道了。。。。
#include <Constants.au3>
Opt("MustDeclareVars",1)
_test()
Func _test()
Local $foo,$line,$lines
$foo = Run(@ComSpec & ' /c  wmic path Win32_PerfFormattedData_Tcpip_NetworkInterface get CurrentBandwidth |  find "100" || echo 1001  ', @SystemDir, @SW_HIDE, $STDOUT_CHILD)
$lines = ''
While 1
    $line = StdoutRead($foo)
    If @error Then ExitLoop
     $lines &= $line
Wend
Local $var = StringMid($lines, 1, 15)
Local $10000M = 10000000000
Local $1000M = 1000000000
Local $100M = 100000000
Local $10M = 10000000
Local $1001 = 1001
If $var = $10000M Then MsgBox(64,$10000M,"哇,太牛B了,当前链接速度为:万兆")
If $var = $1000M Then MsgBox(64,$1000M,"当前链接速度为:千兆")
If $var = $100M Then MsgBox(48,$100M,"当前链接速度为:百兆")
If $var = $10M Then MsgBox(48,$10M,"当前链接速度为:十兆")
If $var = $1001 Then MsgBox(16,"连接异常","未检到网络连接")
EndFunc
 楼主| 发表于 2017-6-2 16:17:31 | 显示全部楼层
回复 17# 28002673


    你说的这个方法倒是可行,弄个程序开机运行,记录运行结果,并上传至SQL
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-4-20 16:52 , Processed in 0.071624 second(s), 14 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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