背景:
以启用 / 禁用网卡举例。
系统平台:win2003。
情况描述: 机器上装有两块网卡,8136和8139,网卡A使用静态IP,连接内部办公网,网卡B使用DHCP,连接互联网。切换两个网络时,需要先禁用一个网卡,启用另一个网卡。来回点鼠标太麻烦,所以想到用命令行。
操作目的:便捷切换内外网。
工具下载:
https://download.csdn.net/download/dream_weave/11230732
1、尝试过的方法
(1)netsh interface,该命令下有enable和disable,但对LAN端口不起作用。
(2)Power Shell,微软推出的增强命令行工具,类似bash,支持脚本,功能强大。个人认为肯定可以。但我毕竟是外行,学起来头疼。
(3)使用devcon。需要注意的是搞清楚硬件ID(hardware ID)和范例ID(Instance ID)的区别,同时使用必须的转义字符。
2、正确方法
Step1
运行devcon hwids pci\* > pci_device.txt
该命令将所有PCI设备的全部ID(范例ID、硬件ID、兼容ID等等)输出到一个文本文件中,这样可以直接粘贴那一长串范例ID,不用手打了。
Step2
编辑pci_device.txt 找到相关设备。下面是我机器上该部分的内容:
PCI\VEN_10EC&DEV_8139&SUBSYS_813910EC&REV_10\3&61AAA01&0&50
Name: Realtek RTL8139 Family PCI Fast Ethernet NIC #2
Hardware ID's
:(硬件ID)
PCI\VEN_10EC&DEV_8139&SUBSYS_813910EC&REV_10
PCI\VEN_10EC&DEV_8139&SUBSYS_813910EC
PCI\VEN_10EC&DEV_8139&CC_020000
PCI\VEN_10EC&DEV_8139&CC_0200
Compatible ID's
:(兼容ID)
PCI\VEN_10EC&DEV_8139&REV_10
PCI\VEN_10EC&DEV_8139
PCI\VEN_10EC&CC_020000
PCI\VEN_10EC&CC_0200
PCI\VEN_10EC
PCI\CC_020000
PCI\CC_0200
最上面最长的那一行『PCI\VEN_10EC&DEV_8139&SUBSYS_813910EC&REV_10\3&61AAA01&0&50』就是唯一标识该网卡的
范例ID
。
Step3
禁用网卡,运行下列命令:
devcon /r disable "@PCI\VEN_10EC&DEV_8139&SUBSYS_813910EC&REV_10\3&61AAA01&0&50"
或者简单点,干脆禁用所有带DEV_8139字符的设备:devcon disable *DEV_8139*
注意
:
所有范例ID前必须加@字符;将disable改为enable就是启用;由于设备范例 ID 包含 & 字符 (&),因此它们应包含在引号中;可以包含 /r 参数,该参数会在必要时重新启动系统以使设置生效。如果有多个设备,每个设备实例 ID 与其他设备实例 ID 之间用一个空格分隔
。
devcon /r disable "@USB\ROOT_HUB\4&2A40B465&0" "@USB\ROOT_HUB\4&7EFA360&0" "@USB\VID_045E&PID_0039\5&29F428A4&0&2"
详情参阅:
http://technet.microsoft.com/zh-cn/library/ff544746
以下是我自己编写的一个批处理文本
@echo off& mode con cols=80 lines=20& color 3f
echo ●●●●●●●●●●●●
echo ● 1:启用拨号网卡 禁用内网网卡,拨号
echo ● 2:断开ADSL网络
echo ● 3:启用内网网卡 禁用拨号,连内网
echo ● 4:15秒后关闭电脑
echo ● 5:退出
echo ●●输入数字后,回车 ●●
set /p answer=
if %answer%==1 goto 1
if %answer%==2 goto 2
if %answer%==3 goto 3
if %answer%==4 goto 4
if %answer%==5 goto 5
echo 启用拨号网卡,并禁用局域网网卡,请稍等……
devcon disable = "@PCI\VEN_10EC&DEV_8136&SUBSYS_301A17AA&REV_01"
devcon enable = "@PCI\VEN_10EC&DEV_8139&SUBSYS_813910EC&REV_10"
echo 正在拨号……
Rasdial "宽带连接" 063100492203 776143
echo -----------------------------------
echo 设置完成,按任意键打开联网直报平台!
pause
start "" "http://zb.stats-sd.gov.cn/dr/queryLoginInfo.do"
goto end
Rasdial "宽带连接" /disconnect
goto end
echo 启用局域网网卡,并禁用拨号网卡,请稍等……
devcon enable = "@PCI\VEN_10EC&DEV_8136&SUBSYS_301A17AA&REV_01"
devcon disable = "@PCI\VEN_10EC&DEV_8139&SUBSYS_813910EC&REV_10"
echo 正在自动获取IP……
netsh interface ip set address name="板载网卡" dhcp
netsh interface ip set dns name="板载网卡" dhcp
echo --------------------------------
echo 设置完成!按任意键打开sina mail!
pause
start "" "http://mail.sina.com"
goto end
shutdown -s -t 15
goto end
goto end
:adsl
Rasdial "宽带连接" 063100492203 776143
echo 拨号成功,按任意键打开联网直报平台!
pause
start "" "http://zb.stats-sd.gov.cn/dr/queryLoginInfo.do"
goto end
背景:以启用 / 禁用网卡举例。系统平台:win2003。情况描述:机器上装有两块网卡,8136和8139,网卡A使用静态IP,连接内部办公网,网卡B使用DHCP,连接互联网。切换两个网络时,需要先禁用一个网卡,启用另一个网卡。来回点鼠标太麻烦,所以想到用命令行。操作目的:便捷切换内外网。工具下载:https://download.csdn.net/download/dream...
系统
平台:
win
2003
情况描述:机器上装有两块网卡,8136和8139,网卡A使用静态IP,连接内部办公网,网卡B使用DHCP,连接互联网。切换两个网络时,需要先
禁用
一个网卡,
启用
另一个网卡。来回点鼠标太麻烦,所以想到用命令行。
操作目的:便捷切换内外网
操作方法:
尝试过的方法
(1)netsh interface,该命令下有enable和disable,但对LAN端口不起...
Devcon
find pci\*
PCI\VEN_10EC&DEV_8139&SUBSYS_813910EC&REV_10\4&172A2BDD&0&18F0: Realtek RTL8139
Family PCI Fast Ethernet NIC
其中 : 号前面的 PCI\VEN_10EC 就是
设备
ID 号。后面
今天测试一个外接
设备
的时候发现打开失败,跟硬件提供商沟通后,说是蓝牙
设备
占用端口了。需要
禁用
蓝牙端口
设备
,于是找了
devcon
禁用
端口
设备
的方法。
devcon
在
win
DDK目录中可以找到,找到对应位数的
程序
,使用管理员权限打开命令行窗口,找到ports
设备
C:\Users\xxx\Desktop>
devcon
find =ports
FTDIBUS\VID_0403+PID_6001+A10JYLAEA\0000 : USB Serial Port (C
DevCon
.exe是微软开发的一种命令行实用工具,可以替代
设备
管理器。 使用
DevCon
,您可以
启用
、
禁用
、重新启动、更新、删除和查询单个
设备
或一组
设备
。尤其用在批处理脚本中特别有用。
DevCon
还提供与
驱动
程序
开发人员有关、但无法在
设备
管理器中看到的信息。 下载后解压,得到3个文件,I386\
DevCon
.exe是32位
DevCon
工具的二进制文件。Ia64\
DevCon
.ex
根据WDK文档,
DevCon
工具的基本功能如下;
DevCon
is a command
-
line tool that performs the follo
win
g device management functions on local and remote computers;
DevCon
是一个命令行工具,在本地或远程计算机上执行
设备
管理功能;
Display. 显示
Search. 搜索
Change. 更改
Enable a device 使能
设备
Disable a d...
是的,`
devcon
find usb*` 命令可以用来查找与 USB 相关的
设备
实例路径。这些路径可以用来执行其他
devcon
命令,如
启用
、
禁用
或卸载
设备
等。例如,如果你想
禁用
某个 USB
设备
,你可以使用以下命令:
devcon
disable "USB\VID_xxxx&PID_xxxx"
其中 `"USB\VID_xxxx&PID_xxxx"` 是你想
禁用
设备
的
设备
实例路径。