背景介绍:我的电脑有两个网卡,一个本地链接,连接局域网;一个USB无线网卡,链无线网络。但两者不能同时使用,只能用一个。而且,本地链接还需要使用代理,才能通过局域网上网,而无线必须清除代理。所以,这两者切换起来,很不方便。就想做个批处理进行切换。前两天,精心做了一个切换代理的批处理,还算比较好用,这里有下载和介绍:http://www.taoyoyo.net/ttt/post/356.html但光有这个,每次切换时还要把一个连接停掉,把另一个连接启用,所以想再加些命令,直接实现禁用启用连接,就方便多了!但查了半天,也没有找到修改本地链接状态或启用网卡的方法,还在批处理论坛发了求助帖:今天终于找到Devcon.exe工具,问题迎刃而解……
DevCon .exe是微软开发的一种命令行实用工具,可以替代设备管理器。 使用 DevCon,您可以启用、禁用、重新启动、更新、删除和查询单个设备或一组设备。尤其用在批处理脚本中特别有用。DevCon 还提供与驱动程序开发人员有关、但无法在设备管理器中看到的信息。
下载后解压,得到3个文件,I386DevCon.exe是32位 DevCon工具的二进制文件。Ia64DevCon.exe是64位 DevCoN工具的二进制文件。
我们用I386下的DevCon.exe,将这个文件复制到c:windowssystem32下。
开始、运行,输入devcon find pci*(因为网卡是PCI设备,用这个命令查找系统中的所有的PCI设备)
查询结果中“:”前为硬件ID,后为设备名称。红框内为网卡的PCI信息。
PCIVEN_10EC&DEV_8139&SUBSYS_0CCB105B&REV_1,前为硬件ID,后为设备名称。蓝框内为网卡的PCI信息。
禁用网卡命令:devcon disabled *PCIVEN_10EC*(在硬件ID里\、&间找一段能代表网卡的唯一的信息段前后加*号即可,不要带或&,&前后会被认为是两个不同的关键字,)
命令输入后有提示,禁用了那些设备。
启用网卡命令:devcon enable *PCIVEN_10EC*
不过由于两块网卡都有同样的关键字,所以只能同时禁用启用两块网卡。两块网卡前面的关键字都相同,第二个后面的关键字我试过却都不能被识别。只能同时禁用启用两块网卡了。
做成bat文件只需使用以下两个命令即可:
devcon disabled *DEV_164C*
devcon enable *DEV_164C*
最后附上devcon的详细使用说明:
devcon.exe [-r] [-m:\<machine>] <command> [<arg>]
-r if specified will reboot machine after command is complete, if needed.
<machine> 目标机器名字.
<command> 命令(见下面).
<arg>传给命令的参数.
For help on a specific command, type: devcon.exe help <command>
classfilter 允许修改class filters.
classes 显示设备安装classes.
disable 用指定的硬件名称或者instance ID禁用设备
driverfiles 列出设备安装的驱动文件.
drivernodes 显示设备的所有节点的驱动.
enable 用指定的硬件名称或者instance ID启用设备.
find 用指定的硬件名称或者instance ID查找设备.
findall 查找所有硬件设备包括不显示的.
help 显示帮助信息.
hwids 显示设备硬件ID.
install 手动安装设备.
listclass 显示所有设备的安装 class.
reboot 重启本地机器.
remove 用指定的硬件名称或者instance ID删除设备.
rescan 从新扫描硬件信息.
resources 显示设备使用的硬件资源.
restart 用指定的硬件名称或者instance ID重启设备.
stack 列出设备的驱动堆栈.
status 列出设备的状态.
update 手动更新设备驱动.
updateNI 不显示用户界面的更新设备状态
SetHwID 添加、删除、编辑硬件ID的顺序.
Tag: Bat知识 Windows技巧 网络技巧 TTTBLOG