使用devcon工具,结合批处理重启无线网卡设备

最近由于工作需要,写了一个重启无线网卡的批处理。

首先说一下我的思路:

1、 ping网关(默认选项,网关为192.168.1.1)两次,如果成功,则批处理结束

2、 如果不成功,则在第二次,重启无线网卡

为了达到以上目的。我需要一个可以在DOS命令中进行启用、禁用、重新启动、更新、删除和查询单个设备或一组设备的工具。而devcon恰恰就是windows中进行这些操作的工具。它并未集成在windows的默认安装中,为此,我们需要通过官网或者其他网站下载该工具。由于官方提供的工具在win7 64bit中无法正常工作,所以我推荐到以下网站下载:

http://download.csdn.net/detail/zhangzxing/5691253

下载好文件,并解压。devcon在3个文件中:amd64、i386、ia64 。将操作系统对应的版本复制到系统盘的system32目录下。按照思路,写成批处理:

@echo off

for /f %%y in (‘devcon find usb\* ^|find "MER"‘) do set WLID="@%%y"

::抓取无线网卡的硬件ID,我使用的是水星,所以寻找包含“MER”.

::在%%y中加入引号,是为了将%%y的值当成一个整体的字符串来赋值。否则变量赋值会被截取

:: 因为%%y中的值,被DOS识别成了系统路径,可能是包含了特殊符号&

::加上@的原因也是因为这个,将这个字符串当成一个整体来执行

::由于devcon程序对应的执行方式为,devcon restart  “@硬件ID” ,所以WLID变量值刚好符合条件

set /p Targie=<c:\ip.txt                      ::从文件中输入IP地址

for %%i in (1,2) do (                          ::进行循环

ping -w 1 %Targie% >c:\123.txt      ::网络测试

if %ERRORLEVEL%==0 (

::判断是否成功,ERRORLEVEL变量记录的是上一次程序执行的状态,0为成功,其他为失败

echo " %date% : %Targie% is comneted! “       ::程序执行成功,则输出日期和成功信息

) else (
if %%i==2 (
echo " NETWORK SERVICE RESTARTING...."
devcon restart %WLID%                  :: 如果ping不成功,且已进行了两次,则重启网卡

if %ERRORLEVEL%==0 (
echo "NETWORK SERVICE IS RESTARTED!"
    ) else (

echo "NETWORK SERVICE restart Fail"        ::判断网卡重启是否成功,以及对应的提示

) else (
 echo Trying %%i time to comnetting %Targie%     ::如果ping不成功,.提示正在尝试连接网关1、2次
          )

)
     )

出现的问题:

ping、devcon命令执行后,有时%ERRORLEVEL%返回的值会发生错误。

此问题,未解决。还在找寻更好的判断方式

另,devcon的详细介绍,请见百度百科)

参数编辑

devcon.exe [-r] [-m:\\<machine>] <command> [<arg>...]

-r 如果指定它,在命令完成后若需要则重新启动计算机。

<machine> 是目标计算机的名称。

<command> 是将要执行的命令(如下所示)。

<arg>... 是命令需要的一个或多个参数。

要获取关于某一特定命令的帮助,请键入:devcon.exe help <command>

classfilter  允许修改类别筛选程序。

classes  列出所有设备安装类别。

disable  禁用与指定的硬件或实例 ID 匹配的设备。

driverfiles  列出针对设备安装的驱动程序文件。

drivernodes  列出设备的所有驱动程序节点。

enable 启用与指定的硬件或 实例 ID 匹配的设备。

find  查找与指定的硬件或 实例 ID 匹配的设备。

findall  查找设备,包括那些未显示的设备。

help  显示此信息。

hwids  列出设备的硬件 ID。

install  手动安装设备。

listclass  列出某一安装类别的所有设备。

reboot  重新启动本地计算机。

remove 删除与特定的硬件或 实例 ID 匹配的设备。

rescan  扫描以发现新的硬件。

resources 列出设备的硬件资源。

restart  重新启动与特定的硬件或 实例 ID 匹配的设备。

stack  列出预期的设备驱动程序堆栈。

status  列出设备的运行状态。

update 手动更新设备。

UpdateNI 手动更新设备,无用户提示

SetHwID  添加、删除和更改根枚举设备的硬件 ID 的顺序。

3

时间: 2024-07-30 10:17:24

使用devcon工具,结合批处理重启无线网卡设备的相关文章

FFmpeg命令行工具和批处理脚本进行简单的音视频文件编辑

FFmpeg_Tutorial FFmpeg工具和sdk库的使用demo 一.使用FFmpeg命令行工具和批处理脚本进行简单的音视频文件编辑 1.基本介绍 对于每一个从事音视频技术开发的工程师,想必没有一个人对FFmpeg这个名称感到陌生.FFmpeg是一套非常知名的音视频处理的开源工具,它包含了开发完成的工具软件.封装好的函数库以及源代码供我们按需使用.FFmpeg提供了非常强大的功能,可以完成音视频的编码.解码.转码.视频采集.后处理(抓图.水印.封装/解封装.格式转换等),还有流媒体服务等

使用Spring Boot开发者工具进行自动重启和页面自动刷新

简介 大家可能都听说过开发Node.js应用时可以使用多种工具对开发者提供便利,如WebPack提供了开发者服务器来支持js应用动态更替,并在保存文件时自动刷新浏览器.Spring Boot也提供了相似的开发者工具,让我们更快速.更舒心的开发Spring Boot应用.大家看完本教程就可以学会如何如用Spring Boot开发者工具进行自动重启和自动刷新页面. 自动重启原理 Spring Boot的开发者工具会为应用创建两个classloader.一个是用来加载不会变动的类,称为base cla

制作干净系统 批处理删除所有设备驱动

现在市面上的Ghost系统少了很多,但是使用这种系统的朋友还是很多.下面的小方法就是帮助大家制作纯净的系统,站在使用系统的立场上,制作自己的Ghost系统.这样在实际应用中还是相当方便的. 将下面代码复制到记事本,另存为.bat 批处理文件.双击执行后即可删除所有已安装的设备驱动.但不会删除驱动程序本身. @echo off :: CPU devcon remove ACPI"Processor ::GAME Port devcon remove PCI"CC_09* ::网卡 dev

u大师u盘启动盘制作工具教你使用无线网卡连不上网应该如何处理

今天一位网友在使用电脑的时候出现这样一个问题:小伙伴们使用无线网卡连不上网,心急如焚.于是急忙联系到了小编,在小编的热心帮助下,一步步的排查到了原因.小编想到肯定还有网友会遇到这样的问题.小编就码好了这篇文章给一些网友,在遇到这样的问题时候能有方法检查.排除. 首先从电脑-管理-设备管理器里面看看无线网卡驱动是不是正确安装.如果驱动不正确,需要安装正确的驱动程序.如果驱动没问题,有些笔记本电脑侧边有无线网卡开关,检查此开关是否处在关闭位置.检查无线连接的用户和密码是否正确.最后一步就是在网络属性

springboot开发人员工具(自动重启及相关的配置)

导入依赖: <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> </dependency> </dependencies> Developer tools

批处理重启程序

@echo offtaskkill /f /im KwMusic.exe  注释:关闭进程 在任务管理器里查看进程名字ping 127.0.0.1 -n 60>nul   注释:延时60秒start "" "C:\Program Files (x86)\kuwo\kuwomusic\KwMusic.exe"  注释:启动程序 ----删除汉字 存为.bat文件 在任务计划程序中新建任务计划即可 已验证  系统win8

Android 设备及模拟器通讯的ADB工具(一)

Android 设备及模拟器通讯的ADB工具(一) 标签(空格分隔): Android adb 是 Android 开发必知必会的一个工具,它来自 sdk 包中.所有的刷机工具,应用管理工具都引用了 adb 工具.它能完成很多功能. 掌握adb的使用方法是十分重要的.adb 工具也是随着 Android sdk的更新而更新的.我们需要不断的更新对 adb 的认识. adb 命令简介 常用 adb 命令用法 使用 adb 命令截图和录制视频 adb 命令简介 在SDK的platform-tools

解决微信开发工具上trace无法检测到设备,一直停留在“正在搜索设备...”或者trace panel,choose device老出现device not found

性能 Trace 工具 微信 Andoid 6.5.10 开始,我们提供了 Trace 导出工具,开发者可以在开发者工具 Trace Panel 中使用该功能. 使用方法 PC 上需要先安装 adb 工具,可以参考一些主流教程进行安装,Mac 上可使用 brew 直接安装. 确定 adb 工具已成功安装后,在开发者工具上打开 Trace Panel,将 Android 手机通过 USB 连接上 PC,点击「Choose Devices」,此时手机上可能弹出连接授权框,请点击「允许」. 选择设备后

批处理启动或关闭VMware服务(转载)

VMWare 确实是好东西,不过安装之后会增加四个自动启动的服务以及两个虚拟的网络连接.我是比较讨厌这种没事就占着系统资源的东西,何况也不是经常要用着 VMWare ,所以写了个批处理脚本来自动启动/关闭 VMWare 虚拟机以及相关的服务和网络连接.完整批处理文件内容如下: 1 @echo On  2 @PROMPT [VMWareController]#   3   4 @if "%1" == "" goto Help   5 @if "%1"