China DOS Union

-- Unite DOS · Advance DOS · Grow DOS --

Union site: www.cn-dos.net Forum site: www.cn-dos.net/forum
DOS stands for freedom, openness and progress. Let us work hard, learn from the openness and GNU spirit of FreeDOS and Linux, and together build and grow a free GNU GPL world!

中国DOS联盟论坛
The time now is 2026-07-08 03:31
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » I'm asking: How to use commands to enable/disable the local network connection? View 2,257 Replies 3
Original Poster Posted 2007-11-04 22:19 ·  中国 上海 东方有线
初级用户
Credits 110
Posts 44
Joined 2007-11-01 21:56
18-year member
UID 101435
Gender Male
Status Offline
Floor 2 Posted 2007-11-04 22:50 ·  中国 上海 东方有线
初级用户
Credits 110
Posts 44
Joined 2007-11-01 21:56
18-year member
UID 101435
Gender Male
Status Offline
Hehe, found it. Still in netsh. I looked for it for a long time and didn't find it...
Floor 3 Posted 2007-11-04 22:52 ·  中国 福建 龙岩 电信
新手上路
Credits 10
Posts 5
Joined 2007-09-09 18:42
18-year member
UID 96958
Gender Male
Status Offline
```vb
Const ssfCONTROLS = 3

sConnectionName = "本地连接"

sEnableVerb = "启用(&A)"
sDisableVerb = "停用(&B)"

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 verb
'may not take...
'
' wscript.sleep 400
wscript.sleep 1000
wscript.echo"done."
```
Floor 4 Posted 2007-11-04 23:07 ·  中国 上海 东方有线
初级用户
Credits 110
Posts 44
Joined 2007-11-01 21:56
18-year member
UID 101435
Gender Male
Status Offline
Don't know VBS... Prefer scripts like Perl batch -,-b

Still thanks:)
Forum Jump: