在bat文件中启用/禁用无线接口


17

有没有一种方法可以通过命令行启用/禁用无线网络接口(因此我可以将其放入bat文件中)?

当我在办公室时,我使用的是有线连接,但是Windows仍然偶尔会引起我关于无线连接未连接的问题(即使我关闭了在没有连接时通知我的选项)。我猜想阻止它困扰我的唯一方法是禁用接口,但是我宁愿不必每次都需要进入网络设置。

我想设置一个蝙蝠文件或一个快捷方式,我可以使用它来启用/禁用无线功能(最好是切换当前状态的一个),然后为此设置一个键盘快捷方式。我只是不知道如何从命令行执行此操作。


这仅解决了在设备驱动程序级别启用/禁用问题,而不涉及设备本身的开启/关闭问题。我不希望启用/禁用,而是要打开/关闭。特别是我的WiFi默认关闭,但是当我来到某些客户站点进行服务时,我需要一个.bat或.wsh脚本文件来打开WiFi并连接到该客户的正确配置文件,我还想另外把它写在网络打印机连接,这样我就可以打印我的报告等

@KronoS:继续,仅标记将来需要评论的任何“答案”的版主注意力。我们有一个转换工具可以正确执行。谢谢。
Troggy 2011年

@OldManRiver:听起来您还有其他问题。我将搜索“超级用户”,以查看是否可以找到可以回答问题的内容,如果没有,请继续提出新的问题。
Troggy 2011年

@Troggy我按照@IvoFlipse 遵循这些说明。但是将停止将来的“转换”。:)
James Mertz'3

@KronoS:感谢您的参考。如果它是需要作为OP问题的一部分的“答案”,请继续编辑该问题,并在其中添加“答案”部分,然后将“答案”标记为要删除。对于需要成为注释的“答案”,请继续进行标记。我们感谢您的帮助,但是通过这种方式,我们可以将所有内容与正确的用户相关联。
Troggy 2011年

Answers:


9

我想设置一个蝙蝠文件或可用于启用/禁用无线功能的快捷方式

使用Microsoft DevCon ...

所述开发者大会实用程序是一个命令行实用程序,它作为一个替代设备管理器。使用DevCon,您可以启用,禁用,重新启动,更新,删除和查询单个设备或设备组。DevCon还提供与驱动程序开发人员相关的信息,并且在设备管理器中不可用。

这是为您准备的教程:

从命令行启用/禁用无线网卡

最好是切换当前状态的单个

您需要两个批处理文件,一个用于WiFi关闭,另一个用于WiFi打开。

话虽如此,我认为您正在使用笔记本电脑。您确定您的笔记本电脑不允许通过Fn组合键或物理开关打开/关闭WLAN吗?您可以发布品牌和型号吗?


笔记本电脑有一个拨动开关,但仅用于天线,不适用于设备。因此,即使看不到任何网络,Windows仍然可以看到该设备并抱怨它未连接。
爱马仕(Herms)2010年

@赫姆斯-仅用于天线吗?这是非常不寻常的。您还可以从设备管理器中禁用无线控制器,展开“网络适配器”,右键单击WLAN控制器,然后选择“禁用...”,这正是DevCon在命令行中将执行的操作。

是的,我知道我可以通过它禁用它。我只是想避免一直都这样做。Bat文件使我可以为其分配键盘快捷键。我认为我有一个Powershell脚本可以用作切换按钮(无法弄清楚蝙蝠,然后想起我已经安装了
Powershell

可能会在某个时候写一篇关于它的博客文章,但是现在,这是我为切换编写的powershell脚本:gist.github.com/294059
Herms,

1
有关如何设置所有内容的文章:blog.aherrman.com/2010/02/…–
Herms,

11

以下是cmd具有admin特权的提示符在Win 7上的工作:

禁用:

netsh interface set interface "Wireless Network Connection" Disable

启用:

netsh interface set interface "Wireless Network Connection" Enable

要获取接口名称:

C:\Users\nirmal>netsh interface show interface

Admin State    State          Type             Interface Name
-------------------------------------------------------------------------
Enabled        Connected      Dedicated        Wireless Network Connection
Disabled       Disconnected   Dedicated        Local Area Connection

2

我制作了一个批处理文件,用于在LAN和WLAN之间进行切换。如果WLAN处于活动状态,它将启用LAN连接并禁用WLAN连接,反之亦然。

该批处理文件已在Windows 7上进行了测试。调用它WLAN-LAN.bat并以提升的提示身份启动它。

@Echo off

Echo De Netwerkinstellingen worden omgezet van WLan naar LAN of Vice Versa ! 
Echo Even Geduld svp  .................................................

net start dot3svc
netsh lan show interfaces >NUL

if errorlevel 1 goto LAN
if errorlevel 0 goto WLAN

:LAN

netsh interface set interface "Draadloze netwerkverbinding" disabled >NUL

sc start dot3svc >NUL
netsh interface set interface "LAN-verbinding" enabled >NUL

goto end

:WLAN

sc start dot3svc >NUL
netsh interface set interface "LAN-verbinding" disabled >NUL
sc stop dot3svc >NUL

netsh interface set interface "Draadloze netwerkverbinding" enabled >NUL

:end

您应该更改网络接口的名称以匹配您自己系统上的网络接口。因此,请在引号之间更改名称:“ ...”。

此外,是否应将有线自动配置服务设置为自动。您可以根据需要更改注释中的文本。


1
您能否说明是否必须针对除荷兰语以外的其他语言更改脚本中的任何内容?还是将注释和字符串文字翻译成英语?
sblair 2011年

@sblair只需修改字符串“”,就必须将Draadloze netwerkverbinding更改为您的接口名称,例如无线连接
。。– netawater

是“ net start dot3svc”添加错误吗?它导致错误级别始终为0。
netawater

2

仅供参考...对于Vista和Win7的64位版本,上面提到的“ 64bit”版本将不起作用。您必须下载整个Windows设备驱动程序工具包,然后从此处提取devcon.exe: C:\WinDDK\7600.16385.1\tools\devcon\amd64\devcon.exe 并粘贴到c:\Windows/system23 (我知道,我知道...我也有Intel i3,但仍然必须使用此“ amd64”)

可以在以下位置找到WinDDK工具包:http : //www.microsoft.com/whdc/DevTools/WDK/WDKpkg.mspx 它很大(620 MB)。devcon文件很小。:p

注意:进入设备管理器(从控制面板),查看属性,然后在“详细信息”下选择“硬件ID”,这是查找任何设备的设备驱动程序编号的简便方法。会有很多,您只需要这一部分:DEV _ ???? (用4个数字填写?)。例如,如果将其DEV_4315放在enable.bat: devcon enable“ * DEV_4315”中,然后将其放在disable.bat: devcon disable“ * DEV_4315”中。

请确保并在其前面添加通配符:* DEV _ ????(请参阅我刚才给出的2个示例)。您需要以管理员身份运行它们。仅供参考...如果您有硬件指示灯,则可能不会切换它。


1

使用此蝙蝠文件切换WLAN。

@Echo off set interface="Wireless Network Connection " ipconfig | find %interface% >NUL rem if errorlevel 0 goto LAN rem if errorlevel 1 goto WLAN if %errorlevel% EQU 0 goto LAN if %errorlevel% EQU 1 goto WLAN :LAN echo "LAN" netsh interface set interface %interface% disabled goto end :WLAN echo "WLAN" netsh interface set interface %interface% enabled :end


这就是我一直在寻找的东西。非常感谢!
Hybrid SyntaX

0

另一个可能性是Sikuli脚本。Sikuli真的很酷,因为它采用了可视化的脚本编写方法,并且应该能够轻松完成所需的工作。观看以上链接中的视频,了解我的意思。Sikuli在Mac,Windows和Linux上运行。


有趣的是,我今天早上才发现。我不希望将其用于编写此类脚本,因为通常需要更长的时间才能运行。
爱马仕(Herms)2010年

0

可能可以使用该wmic实用程序(尽管我不确定Windows Vista / 7 / etc是否附带该实用程序)。

要么

(尽管这是一种有趣的方式,并且可能会破坏东西,并且可能无法正常工作),请使用该netsh工具(也可能不是新的Windows版本附带的工具)为网络适配器提供手动分配的IP地址(如果它应该有一个自动分配的,或者相反。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.