Win系统 - Devcon 启用 / 禁用设备、驱动程序
背景:以啟用 / 禁用網(wǎng)卡舉例。
系統(tǒng)平臺:win2003。
情況描述:?機(jī)器上裝有兩塊網(wǎng)卡,8136和8139,網(wǎng)卡A使用靜態(tài)IP,連接內(nèi)部辦公網(wǎng),網(wǎng)卡B使用DHCP,連接互聯(lián)網(wǎng)。切換兩個網(wǎng)絡(luò)時,需要先禁用一個網(wǎng)卡,啟用另一個網(wǎng)卡。來回點(diǎn)鼠標(biāo)太麻煩,所以想到用命令行。
操作目的:便捷切換內(nèi)外網(wǎng)。
工具下載:https://download.csdn.net/download/dream_weave/11230732
操作方法
1、嘗試過的方法
(1)netsh interface,該命令下有enable和disable,但對LAN端口不起作用。
(2)Power Shell,微軟推出的增強(qiáng)命令行工具,類似bash,支持腳本,功能強(qiáng)大。個人認(rèn)為肯定可以。但我畢竟是外行,學(xué)起來頭疼。
(3)使用devcon。需要注意的是搞清楚硬件ID(hardware ID)和范例ID(Instance ID)的區(qū)別,同時使用必須的轉(zhuǎn)義字符。
2、正確方法
???Step1?運(yùn)行devcon hwids pci\* > pci_device.txt
???該命令將所有PCI設(shè)備的全部ID(范例ID、硬件ID、兼容ID等等)輸出到一個文本文件中,這樣可以直接粘貼那一長串范例ID,不用手打了。
???Step2?編輯pci_device.txt 找到相關(guān)設(shè)備。下面是我機(jī)器上該部分的內(nèi)容:
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』就是唯一標(biāo)識該網(wǎng)卡的?范例ID。
? ??Step3?禁用網(wǎng)卡,運(yùn)行下列命令:
?? devcon /r disable?"@PCI\VEN_10EC&DEV_8139&SUBSYS_813910EC&REV_10\3&61AAA01&0&50"?
或者簡單點(diǎn),干脆禁用所有帶DEV_8139字符的設(shè)備:devcon disable?*DEV_8139*
注意:所有范例ID前必須加@字符;將disable改為enable就是啟用;由于設(shè)備范例 ID 包含 & 字符 (&),因此它們應(yīng)包含在引號中;可以包含?/r?參數(shù),該參數(shù)會在必要時重新啟動系統(tǒng)以使設(shè)置生效。如果有多個設(shè)備,每個設(shè)備實(shí)例 ID 與其他設(shè)備實(shí)例 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:啟用撥號網(wǎng)卡 禁用內(nèi)網(wǎng)網(wǎng)卡,撥號echo ● 2:斷開ADSL網(wǎng)絡(luò) echo ● 3:啟用內(nèi)網(wǎng)網(wǎng)卡 禁用撥號,連內(nèi)網(wǎng)echo ● 4:15秒后關(guān)閉電腦echo ● 5:退出echo ●●輸入數(shù)字后,回車 ●●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 啟用撥號網(wǎng)卡,并禁用局域網(wǎng)網(wǎng)卡,請稍等……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 設(shè)置完成,按任意鍵打開聯(lián)網(wǎng)直報平臺!pause start "" "http://zb.stats-sd.gov.cn/dr/queryLoginInfo.do"goto end:2Rasdial "寬帶連接" /disconnectgoto end:3echo 啟用局域網(wǎng)網(wǎng)卡,并禁用撥號網(wǎng)卡,請稍等……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="板載網(wǎng)卡" dhcpnetsh interface ip set dns name="板載網(wǎng)卡" dhcpecho --------------------------------echo 設(shè)置完成!按任意鍵打開sina mail!pause start "" "http://mail.sina.com"goto end:4shutdown -s -t 15goto end:5goto end:adslRasdial "寬帶連接" 063100492203 776143echo 撥號成功,按任意鍵打開聯(lián)網(wǎng)直報平臺!pausestart "" "http://zb.stats-sd.gov.cn/dr/queryLoginInfo.do"goto end?
總結(jié)
以上是生活随笔為你收集整理的Win系统 - Devcon 启用 / 禁用设备、驱动程序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JAVA语法——经典题目01
- 下一篇: 在保护继承中基类的共有成员_C#初学者教