【方案一】netsh命令
适用于Win2003,把Win2003的ifmon.dll拷贝到WinXP以后WinXP也可以用。
批处理自动获取本地连接的名称:http://bbs.bathome.net/thread-1689-1-1.html | @echo off | | set /p NetConf=请输入你选择的操作(禁用网卡为N,启用为Y): | | if /i "%NetConf%" equ "Y" ( | | netsh interface set interface name="本地连接" admin=ENABLED | | )else if /i "%NetConf%" equ "N" ( | | netsh interface set interface name="本地连接" admin=DISABLED | | ) else ( | | goto :eof | | )COPY |
【方案二】第三方命令行工具devcon.exe
devcon.exe下载地址:http://bbs.bathome.net/thread-1731-1-1.html | @echo off | | set /p NetConf=请输入你选择的操作(禁用网卡为N,启用为Y): | | if /i "%NetConf%" equ "Y" ( | | set NetConf=ENABLE | | )else if /i "%NetConf%" equ "N" ( | | set NetConf=DISABLE | | ) else ( | | goto :eof | | ) | | for /f "tokens=2 delims=&" %%a in ('devcon find pci\*^|findstr /c:"Fast Ethernet"') do ( | | devcon %NetConf% *%%a*>NUL | | )COPY |
【方案三】VBS
XP下可以用VBS来实现停用、启用本地连接 | Const ssfCONTROLS = 3 | | sConnectionName = "本地连接" | | sEnableVerb = "启用(&A)" | | sDisableVerb = "停用(&B)" 非xp 系统可能 是禁用 | | set shellApp = createobject("shell.application") | | set oControlPanel = shellApp.Namespace(ssfCONTROLS) | | set oNetConnections = nothing | | for each folderitem in oControlPanel.items | | if folderitem.name = "网络连接" then | | set oNetConnections = folderitem.getfolder: exit for | | end if | | next | | if oNetConnections is nothing then | | msgbox "未找到网络连接文件夹" | | wscript.quit | | end if | | set oLanConnection = nothing | | for each folderitem in oNetConnections.items | | if lcase(folderitem.name) = lcase(sConnectionName) then | | set oLanConnection = folderitem: exit for | | end if | | next | | if oLanConnection is nothing then | | msgbox "未找到 '" & sConnectionName & "' item" | | wscript.quit | | end if | | bEnabled = true | | set oEnableVerb = nothing | | set oDisableVerb = nothing | | s = "Verbs: " & vbcrlf | | for each verb in oLanConnection.verbs | | s = s & vbcrlf & verb.name | | if verb.name = sEnableVerb then | | set oEnableVerb = verb | | bEnabled = false | | end if | | if verb.name = sDisableVerb then | | set oDisableVerb = verb | | end if | | next | | | | | | | | | | | | | | | | | | | | | | if bEnabled then | | | | oDisableVerb.DoIt | | else | | | | oEnableVerb.DoIt | | end if | | | | | | | | | | | | | | wscript.sleep 400COPY |
|