中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 请问WinXP下在DOS命令行中控制网卡启用或停用?
作者:
标题: 请问WinXP下在DOS命令行中控制网卡启用或停用? 上一主题 | 下一主题
cedarprince
新手上路





积分 10
发帖 3
注册 2008-7-5
状态 离线
『楼 主』:  请问WinXP下在DOS命令行中控制网卡启用或停用? 使用 LLM 解释/回答一下

netsh interface set interface
这个命令在WinXP 中无法启用或停用网卡??

2008-7-5 12:45
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 2 楼』:   使用 LLM 解释/回答一下

最近流行重复发帖?



2008-7-5 13:12
查看资料  发短消息  网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 3 楼』:   使用 LLM 解释/回答一下

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


@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

'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




2008-7-5 13:17
查看资料  发短消息  网志   编辑帖子  回复  引用回复
cedarprince
新手上路





积分 10
发帖 3
注册 2008-7-5
状态 离线
『第 4 楼』:  谢谢 使用 LLM 解释/回答一下

首先谢谢
声明:重发帖不是故意的 是网络问题
回复:
第一种方法 ifmon.dll覆盖 我试过 是不行 不知有什么窍门没
第二种方法 用工具。 我试过 行 但我在应用中不能用工具
第三种方法 用VBS。 我在应用中不能用
结论:是不是WINxp的DOS命令行环境中不能实现网卡的启用或停用

2008-7-5 16:26
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 5 楼』:   使用 LLM 解释/回答一下

我想你的结论是正确的



2008-7-5 21:01
查看资料  发短消息  网志   编辑帖子  回复  引用回复
cedarprince
新手上路





积分 10
发帖 3
注册 2008-7-5
状态 离线
『第 6 楼』:  第一种方法 ifmon.dll覆盖?? 使用 LLM 解释/回答一下

能确定可用吗 ??

2008-7-5 21:26
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: