Board logo

标题: 请教,如何用批处理文件直接连接和断开网络 [打印本页]

作者: aasssdddd     时间: 2008-8-21 10:13    标题: 请教,如何用批处理文件直接连接和断开网络

请教,如何用批处理文件直接连接和断开网络
作者: Climbing     时间: 2008-8-21 11:11
用批处理禁用或者启动网卡。搜索以前的老帖子。
作者: HAT     时间: 2008-8-21 14:16

@echo off
rem 适用于Win2003
rem 把Win2003的ifmon.dll拷贝到WinXP以后WinXP也可以用
rem 禁用本地连接
netsh interface set interface name="本地连接" admin=DISABLED
rem 启用本地连接
netsh interface set interface name="本地连接" admin=ENABLED

作者: HAT     时间: 2008-8-21 14:16

@echo off
rem 用批处理调用devcon.exe来实现
echo 请输入你的选择:(禁用网卡为N,启用为Y)
set/p SELECT=
if /i %SELECT%==Y set SELECT=ENABLE&GOTO :DO
if /i %SELECT%==N set SELECT=DISABLE
:DO
for /f "tokens=2 delims=&" %%i in ('devcon find pci\* ^| findstr "Fast Ethernet"') do devcon %SELECT% *%%i*>NUL
devcon.exe
http://upload.cn-dos.net/img/496.zip
作者: HAT     时间: 2008-8-21 14:17

'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  
'debugging displays left just in case...  
'  
'msgbox s ': wscript.quit  
'msgbox "Enabled: " & bEnabled ': wscript.quit  
'not sure why, but invokeverb always seemed to work   
'for enable but not disable.   
'  
'saving a reference to the appropriate verb object   
'and calling the DoIt method always seems to work.  
'  
if bEnabled then  
'  oLanConnection.invokeverb sDisableVerb  
oDisableVerb.DoIt  
else  
'  oLanConnection.invokeverb sEnableVerb  
oEnableVerb.DoIt  
end if  
'adjust the sleep duration below as needed...  
'  
'if you let the oLanConnection go out of scope  
'and be destroyed too soon, the action of the verb  
'may not take...  
'  
wscript.sleep 400