Board logo

标题: [已解决并更新]在批处理里禁用本地连接网卡后再重新启用连 [打印本页]

作者: flying008     时间: 2006-7-18 12:22    标题: [已解决并更新]在批处理里禁用本地连接网卡后再重新启用连

请教各位大大:

    偶想在批处理里禁用本地连接,再又立即开启它,(就是实现在windows界面上的右键点击系统托盘内的“本地连接”图标后选择“禁用”,然后又在“网上邻居”点右键选择“本地选择”点击它选择“启用”的过程)。可是哪个命令能够实现这样的功能呢?

偶找到了netsh,可惜语法始终不能实现……盼哪位指点……

===========
@echo off
netsh interface set interface "本地连接" "disabled"
netsh interface set interface "本地连接" "enabled"
exit
=============
:(

[ Last edited by flying008 on 2006-7-22 at 08:07 ]
作者: flying008     时间: 2006-7-20 09:10
在网上搜索了不少类似贴子,回答无外乎上面的命令,但其实NETSH并不能解决这个问题,要不然就不会有DEVCON了,
经过N个小时的摸索[就这个功能并没有用多长时间,而是和其它功能并在一起花了些时间],终于解决了这个问题,不过还是要借助微软开发的一个小东东 DEVCON,稍后偶将写出详细的过程及用法,待续 ……
如果您运行 devcon help 命令,将会出现命令列表和描述信息。devcon help 命令可提供关于任何命令的详细帮助。使用其中的某些命令,您可以指定远程目标计算机。

[ Last edited by flying008 on 2006-7-21 at 13:52 ]
作者: darkradx     时间: 2006-7-20 13:14
快快快
netsh确实不好用, 挑网络连接的名字, 不通用
作者: flying008     时间: 2006-7-21 13:42
来了……
前言:因为需要在批处理下禁用网卡和启用本地连接,所以专门找了不少这样的贴子,在网上也有不少人写出 netsh interface set interface "本地连接" "disabled"这类的语句来说可以禁用,可是事实上---------用netsh不能成功禁用网卡,至少偶试了N个小时是不成功的,幸好找到了--------devcon.exe,这个微软开发的一个小东东,虽然不是很智能,但一定程序上解决了问题,下面说说关于它的概要:
DevCon 实用工具是一种命令行实用工具,可以替代设备管理器。使用 DevCon,您可以启用、禁用、重新启动、更新、删除和查询单个设备或一组设备。DevCon 还提供与驱动程序开发人员有关、但无法在设备管理器中看到的信息。

可以将 DevCon 用于 Microsoft Windows 2000、Windows XP 和 Windows Server 2003,但不能将其用于 Windows 95、Windows 98 或 Windows Millennium Edition。
一般情况下的用法:(介绍几个常用的命令和语法)
1、devcon find
devcon find *    [这个命令可以列出列出本地计算机上存在的所有设备的设备实例]
devcon find pci\*    [列出本地计算机上所有已知的“外围组件互连”(PCI) 设备(如果一个设备的硬件 ID 以“PCI\”为前缀,此命令就认为该设备是 PCI 设备]
2、devcon disable *msloop    [禁用硬件 ID 以“MSLOOP”结尾(包括“*MSLOOP”)的所有设备]
3、devcon enable '*MSLOOP
     [启用硬件 ID 为“*MSLOOP”的所有设备。单引号指示必须严格按字面解释硬件 ID(换句话说,星号 [“*”] 真的是 一个星号,而不是通配符]
4、devcon remove @usb\*
     删除所有 USB 设备。被删除的设备列出时将显示其删除状态

因为下面要讲一个实例,所以先说说硬件ID是啥玩艺,说实在的就是让大家知道怎么找出它,请看:
find pci\*    下面就是找出的一部分:
PCI\VEN_10EC&DEV_8139&SUBSYS_813910EC&REV_10\3&13C0B0C5&0&58: Realtek RTL8139 Family PCI Fast Ethernet NIC
PCI\VEN_1106&DEV_0571&SUBSYS_18271019&REV_06\3&13C0B0C5&0&89: VIA Bus Master IDE Controller
PCI\VEN_1106&DEV_3038&SUBSYS_18271019&REV_80\3&13C0B0C5&0&80: VIA Rev 5 or later USB Universal Host Controller
这几行“:”前面的就是硬件ID,后面是设备名称.
偶要禁用网卡了,请看仔细:
devcon disable  *DEV_8139*   [就这样就行了,前提是你电脑里有devcon.exe]
偶要启用它了,同样的搞一下: devcon enable  *DEV_8139*
如果您指定 -r 并且需要重新启动,则在处理完所有设备后,将在无任何警告信息的情况下重新启动就行了,其它的就不多说了,大家喜欢用的话就去下载一个压缩包在自己机子上用用吧,有些人可能想它要是有更强大的功能,就请各位自力更生……相信自己!
压缩包里是2个文件夹,一个是32 位用的,一个是64位用的,
DevCon.exe 文件包含以下文件:
文件 说明
I386\DevCon.exe 32 位 DevCon 工具的二进制文件。此文件在 64 位 Windows 上不能充分发挥作用。
Ia64\DevCon.exe 64 位 DevCon 工具的二进制文件。
下载地址:
http://download.microsoft.com/do ... 7f3e0240/devcon.exe


[ Last edited by flying008 on 2006-7-21 at 13:49 ]
作者: mylovelyqq     时间: 2006-11-30 07:40
非常感谢 flying008
作者: tianzizhi     时间: 2006-11-30 08:03
netsh interface set interface "本地连接" "disabled"  确实可以用,我用过,每次都成功.
  其中"本地连接"是控制板面-网络连接里正在使用的连接好的连接的名字,如果你改过名子了,或不是默认的本地连接上的网,而是自己新建的连接上的网,就不行了,须把"本地连接"这个字样改成你在用的连接的名称.
作者: electronixtar     时间: 2006-11-30 10:24


  Quote:
netsh确实不好用, 挑网络连接的名字, 不通用

那是你的批处理不行。读注册表可以得到连接名字吧?
作者: a9319751     时间: 2006-12-9 04:52
for /f "usebackq tokens=3 delims= " %%i in (`netsh interface show interface^|find "专用"`) do  (
                                         set a=%%i
                                         if #%%i neq #本地连接  netsh interface set interface name=%%i newname=本地连接
                                                                                               )
pause         
修改本地连接名字
作者: rainbow     时间: 2007-3-17 04:50
强烈抗议!!!!!
那东东不好使呀!!!!!
PCI\VEN_1022&DEV_1100&SUBSYS_00000000&REV_00\3&267A616A&0&C0: PCI standard host
CPU bridge
PCI\VEN_1022&DEV_1101&SUBSYS_00000000&REV_00\3&267A616A&0&C1: PCI standard host
CPU bridge
PCI\VEN_1022&DEV_1102&SUBSYS_00000000&REV_00\3&267A616A&0&C2: PCI standard host
CPU bridge
PCI\VEN_1022&DEV_1103&SUBSYS_00000000&REV_00\3&267A616A&0&C3: PCI standard host
CPU bridge
PCI\VEN_10DE&DEV_0242&SUBSYS_02421849&REV_A2\3&267A616A&0&28: NVIDIA GeForce 610
0
PCI\VEN_10DE&DEV_0261&SUBSYS_00000000&REV_A2\3&267A616A&0&50: PCI standard ISA b
ridge
PCI\VEN_10DE&DEV_0264&SUBSYS_02641849&REV_A2\3&267A616A&0&51: NVIDIA nForce PCI
System Management
PCI\VEN_10DE&DEV_0265&SUBSYS_02651849&REV_A1\3&267A616A&0&68: PCI\VEN_10DE&DEV_0
269&SUBSYS_02691849&REV_A1\3&267A616A&0&A0: NVIDIA Network Bus Enumerator
PCI\VEN_10DE&DEV_026B&SUBSYS_08501849&REV_A2\3&267A616A&0&82: Realtek AC'97 Audi
o
PCI\VEN_10DE&DEV_026D&SUBSYS_026D1849&REV_A2\3&267A616A&0&58: Standard OpenHCD U
SB Host Controller
PCI\VEN_10DE&DEV_026E&SUBSYS_026E1849&REV_A2\3&267A616A&0&59: Standard Enhanced
PCI to USB Host Controller
PCI\VEN_10DE&DEV_026F&SUBSYS_00000000&REV_A2\3&267A616A&0&80: PCI standard PCI-t
o-PCI bridge
PCI\VEN_10DE&DEV_0270&SUBSYS_02701849&REV_A2\3&267A616A&0&48: nForce Memory Cont
roller
PCI\VEN_10DE&DEV_027E&SUBSYS_027E1849&REV_A2\3&267A616A&0&07: nForce Memory Cont
roller
PCI\VEN_10DE&DEV_027F&SUBSYS_027F1849&REV_A2\3&267A616A&0&06: nForce Memory Cont
roller
PCI\VEN_10DE&DEV_02F1&SUBSYS_02F11849&REV_A2\3&267A616A&0&00: PCI standard RAM C
ontroller
PCI\VEN_10DE&DEV_02F8&SUBSYS_02F81849&REV_A2\3&267A616A&0&03: nForce Memory Cont
roller
PCI\VEN_10DE&DEV_02F9&SUBSYS_02F91849&REV_A2\3&267A616A&0&04: nForce Memory Cont
roller
PCI\VEN_10DE&DEV_02FB&SUBSYS_00000000&REV_A1\3&267A616A&0&20: PCI standard PCI-t
o-PCI bridge
PCI\VEN_10DE&DEV_02FC&SUBSYS_00000000&REV_A1\3&267A616A&0&10: PCI standard PCI-t
o-PCI bridge
PCI\VEN_10DE&DEV_02FD&SUBSYS_00000000&REV_A1\3&267A616A&0&18: PCI standard PCI-t
o-PCI bridge
PCI\VEN_10DE&DEV_02FE&SUBSYS_02FE1849&REV_A2\3&267A616A&0&02: nForce Memory Cont
roller
PCI\VEN_10DE&DEV_02FF&SUBSYS_02FF1849&REV_A2\3&267A616A&0&05: nForce Memory Cont
roller
24 matching device(s) found.
谁能告诉我哪个是网卡
作者: heicai     时间: 2007-3-17 05:13


  Quote:
Originally posted by electronixtar at 2006-11-29 09:24 PM:

那是你的批处理不行。读注册表可以得到连接名字吧?

能讲下如何读注册表吗????
作者: heicai     时间: 2007-3-17 06:08
楼主用这个命令试试能不能满足你的要求

rasphone -h VPN

能断开VPN拨号连接
作者: everest79     时间: 2007-3-17 15:42
楼主的命令是可以关闭公用网络接口WAN,但不能用来关闭私有网络接口LAN,因为私有网络接口无论是否禁用默认都是归本地管理的,所以adnim状态根本不会有效果
作者: bnxf     时间: 2007-3-25 04:29
flying008 介绍的方法我刚才通过验证,很有效,多谢指点。
作者: ngd     时间: 2007-11-10 14:24
netsh interface set interface "本地连接" "disabled"
netsh interface set interface "本地连接" "enabled"

只能用于 非LAN
作者: wjcing     时间: 2007-12-28 14:41
挺好用的..就是要找到网卡...不知有没什么方法找到网卡...
作者: netwinxp     时间: 2008-4-17 08:34


  Quote:
Originally posted by rainbow at 2007-3-17 04:50:
强烈抗议!!!!!
那东东不好使呀!!!!!
PCI\VEN_1022&DEV_1100&SUBSYS_00000000&REV_00\3&267A616A&0&C0: PCI standard host
CPU bridge
PCI\VEN_1022& ...

PCI\VEN_10DE&DEV_0265是网卡
其实可以用PCI\CC_0200来表示以太网、0201令牌网、0202光纤、0203ATM、0204ISDN

[ Last edited by netwinxp on 2008-4-17 at 08:53 AM ]