Windows网络故障排查脚本
2015-07-12 22:27
746 查看
总是有朋友家里网络出问题请帮忙修理,这是个麻烦事,没有网络不能远程控制排除问题,电话描述又总是跟小白朋友说不清楚,因此就简单写了个故障排除脚本,让他们双击运行就好。做软件的总是沦落到修电脑的境地啊...
有些地方还需要完善,只在Win7上试过,有更懂行的朋友帮忙完善下吧!(保存成bat脚本,双击运行)
有些地方还需要完善,只在Win7上试过,有更懂行的朋友帮忙完善下吧!(保存成bat脚本,双击运行)
@echo off setlocal enabledelayedexpansion cls echo "-----------------------------------------------------------" > NetworkStatus.txt echo "------------ 网络故障检测程序 ----------" >> NetworkStatus.txt echo "-----------------------------------------------------------" >> NetworkStatus.txt echo. >> NetworkStatus.txt :: 检测TCP/IP协议驱动运行情况 :CHECKTCPPROT echo "Check TCP/IP Protocol ..." for /F "tokens=1,2* delims=(%%" %%i in ('ping -n 5 127.0.0.1 ^| find /i "Packets:"') do ( set LOSSPACKE=%%j if !LOSSPACKE!==0 ( echo "正确 : 网卡驱动、TCP/IP协议安装正常 ... " >> NetworkStatus.txt ) else ( if !LOSSPACKE!==100 ( echo "错误 : 网卡驱动、TCP/IP协议错误!可能需要重装网卡驱动或操作系统 ... " >> NetworkStatus.txt NetworkStatus.txt goto :EOF ) else ( echo "警告 : 网卡驱动、TCP/IP协议可能存在问题,存在丢包情况(!LOSSPACKE!% loss) ... " >> NetworkStatus.txt ) ) ) echo. >> NetworkStatus.txt :: 检测网卡安装及网络参数配置情况 :CHECKNETWORKCFG echo "Check Net work config settings ..." for /F "tokens=1,2* delims=:" %%i in ('ipconfig ^| find /i "IP Address"') do ( set LOCALIP=%%j echo "------------- IP 地址 (winXP): !LOCALIP!" >> NetworkStatus.txt ) for /F "tokens=1,2* delims=:" %%i in ('ipconfig ^| find /i "IPv4 Address"') do ( set LOCALIP=%%j echo "------------- IPv4 地址 (win7):!LOCALIP!" >> NetworkStatus.txt ) for /F "tokens=1,2* delims=:" %%i in ('ipconfig ^| find /i "Default Gateway"') do ( set GATEWAY=%%j echo "------------- 默认网关地址 : !GATEWAY!" >> NetworkStatus.txt ) for /F "tokens=1,2* delims=:" %%i in ('ipconfig ^| find /i "DNS Server"') do ( set DNSSERVER=%%j echo "------------- DNS 服务器地址 : !DNSSERVER!" >> NetworkStatus.txt ) if "LOCALIP"=="" ( echo "错误 : 网卡故障或者IP配置错误,请尝试设置(TCP/IPv4)为“自动分配IP地址” “自动分配DNS服务器” ... " >> NetworkStatus.txt control.exe ncpa.cpl NetworkStatus.txt goto :CHECKNETWORKCFG ) else ( if "GATEWAY"=="" ( echo "错误 : 网卡故障或者默认网关配置错误,请尝试设置(TCP/IPv4)为“自动分配IP地址” “自动分配DNS服务器” ... " >> NetworkStatus.txt control.exe ncpa.cpl NetworkStatus.txt goto :CHECKNETWORKCFG ) else ( for /F "tokens=1,2,3* delims=." %%i in ("%LOCALIP%") do ( set IPADDERSEC1=%%i set IPADDERSEC2=%%j set IPADDERSEC3=%%k ) for /F "tokens=1,2,3* delims=." %%i in ("%GATEWAY%") do ( set GETWADDERSEC1=%%i set GETWADDERSEC2=%%j set GETWADDERSEC3=%%k ) if !IPADDERSEC1!==!GETWADDERSEC1! ( if !IPADDERSEC2!==!GETWADDERSEC2! ( if !IPADDERSEC3!==!GETWADDERSEC3! ( set NETCONFIGERROR=0 ) else ( set NETCONFIGERROR=1 ) ) else ( set NETCONFIGERROR=1 ) ) else ( set NETCONFIGERROR=1 ) if !NETCONFIGERROR!==1 ( echo "错误 : IP地址配置错误或者默认网关配置错误,请尝试设置(TCP/IPv4)为“自动分配IP地址” “自动分配DNS服务器” ... " >> NetworkStatus.txt control.exe ncpa.cpl NetworkStatus.txt goto :CHECKNETWORKCFG ) else ( echo "正确 : 网卡正常,网络参数配置正常 ... " >> NetworkStatus.txt ) ) ) echo. >> NetworkStatus.txt :: 检测本地连接是否正常 :CHECKLANLINE echo "Check Local area connection status..." for /F "tokens=1,2* delims=(%%" %%i in ('ping -n 5 %GATEWAY% ^| find /i "Packets:"') do ( set LOSSPACKE=%%j if !LOSSPACKE!==0 ( echo "正确 : 本地路由连接正常 ... " >> NetworkStatus.txt ) else ( if !LOSSPACKE!==100 ( echo "错误 : 无法连接路由器,如使用有线连接,请检查网线是否连接,电脑网络接口绿灯是否闪烁;">> NetworkStatus.txt echo " 如使用无线连接,请检查无线路由是否开启,无线信号灯是否闪烁。 " >> NetworkStatus.txt echo " 可尝试拔掉路由器电源以重新启动,看是否可以正常工作。 " >> NetworkStatus.txt NetworkStatus.txt goto :EOF ) else ( echo "警告 : 网线端口接触不良,或者无线信号强度不够,存在丢包情况(!LOSSPACKE!% loss) ... " >> NetworkStatus.txt echo " 如使用有线连接,可尝试重新插拔网线两端端口,或更换网线或接头。 " >> NetworkStatus.txt echo " 如使用无线连接,可尝试重启无线路由或电脑,并保持二者距离更近。 " >> NetworkStatus.txt ) ) ) echo. >> NetworkStatus.txt :: 检测互联网连接状态 :CHECKINTERNETCONNECTION echo "Check Internet connection status ..." for /F "tokens=1,2* delims=(%%" %%i in ('ping -n 5 www.baidu.com ^| find /i "Packets:"') do ( set LOSSPACKE=%%j if !LOSSPACKE!==0 ( echo "正确 : 外部网络连接正常,如无法上网,请尝试重启电脑,或重装应用程序或浏览器 ... " >> NetworkStatus.txt ) else ( echo "警告 : 我需要以下信息分析网络连接出现问题环节 ..." >> NetworkStatus.txt echo "---------------------------------------------------------------------" >> NetworkStatus.txt tracert www.baidu.com >> NetworkStatus.txt echo "---------------------------------------------------------------------" >> NetworkStatus.txt ) ) echo. >> NetworkStatus.txt NetworkStatus.txt
相关文章推荐
- android wifi 无线调试
- 如何重装TCP/IP协议
- Windows 8 官方高清壁纸欣赏与下载
- 谁是桌面王者?Win PK Linux三大镇山之宝
- 对《大家都在点赞 Windows Terminal,我决定给你泼一盆冷水》一文的商榷
- Windows Clang开发环境备忘
- 从Windows系统下访问Linux分区相关软件
- 对《大家都在点赞 Windows Terminal,我决定给你泼一盆冷水》一文的商榷
- 链路故障排查记
- 让系统崩溃的黑天鹅分类
- Visual Studio 2012 示例代码浏览器 - 数以千计的开发示例近在手边,唾手可得
- Visual Studio 2012 示例代码浏览器 - 数以千计的开发示例近在手边,唾手可得
- 微软镜像下载
- windows server域用户提升到本地更高权限组中的方法
- 使用命令修改注册表键值及权限
- 通过手机、电脑远程开关机,Windows和linux机手机,电脑相互控制
- Windows XP最新应用技巧大荟萃