Win系统 - Devcon 启用 / 禁用设备、驱动程序
背景:以啟用 / 禁用網卡舉例。
系統平臺: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 1if %answer%==2 goto 2if %answer%==3 goto 3if %answer%==4 goto 4if %answer%==5 goto 5:1 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 776143echo -----------------------------------echo 設置完成,按任意鍵打開聯網直報平臺!pause start "" "http://zb.stats-sd.gov.cn/dr/queryLoginInfo.do"goto end:2Rasdial "寬帶連接" /disconnectgoto end:3echo 啟用局域網網卡,并禁用撥號網卡,請稍等……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="板載網卡" dhcpnetsh interface ip set dns name="板載網卡" dhcpecho --------------------------------echo 設置完成!按任意鍵打開sina mail!pause start "" "http://mail.sina.com"goto end:4shutdown -s -t 15goto end:5goto end:adslRasdial "寬帶連接" 063100492203 776143echo 撥號成功,按任意鍵打開聯網直報平臺!pausestart "" "http://zb.stats-sd.gov.cn/dr/queryLoginInfo.do"goto end?
總結
以上是生活随笔為你收集整理的Win系统 - Devcon 启用 / 禁用设备、驱动程序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JAVA语法——经典题目01
- 下一篇: codeblocks如何导入项目_T3如