标题: [网络连接] 关于网络禁用与启用的批处理整合 [打印本页]
作者: wh1234567 时间: 2021-2-20 20:58 标题: 关于网络禁用与启用的批处理整合
本帖最后由 wh1234567 于 2021-2-21 01:06 编辑
- @echo off & title 一键开关网络【自动判断当前状态是否禁用或启用并进行反向切换】
- %1 echo 正在请求管理员权限。。。&&mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
- set WLAN=无线网络连接
- set WLAN2=本地连接
- set WLAN3=无线网络连接 2
-
- netsh interface show interface "%WLAN%" | find "已禁用" >nul 2>nul && (
- netsh interface set interface "%WLAN%" enable >nul 2>nul && (
- echo %WLAN% 已启用
- ) || (
- echo %WLAN% 启用失败
- )
- ) || (
- netsh interface set interface "%WLAN%" disabled >nul 2>nul && (
- echo %WLAN% 已禁用
- ) || (
- echo %WLAN% 禁用失败
- )
- )
-
- netsh interface show interface "%WLAN2%" | find "已禁用" >nul 2>nul && (
- netsh interface set interface "%WLAN2%" enable >nul 2>nul && (
- echo %WLAN2% 已启用
- ) || (
- echo %WLAN2% 启用失败
- )
- ) || (
- netsh interface set interface "%WLAN2%" disabled >nul 2>nul && (
- echo %WLAN2% 已禁用
- ) || (
- echo %WLAN2% 禁用失败
- )
- )
-
- netsh interface show interface "%WLAN3%" | find "已禁用" >nul 2>nul && (
- netsh interface set interface "%WLAN3%" enable >nul 2>nul && (
- echo %WLAN3% 已启用
- ) || (
- echo %WLAN3% 启用失败
- )
- ) || (
- netsh interface set interface "%WLAN3%" disabled >nul 2>nul && (
- echo %WLAN3% 已禁用
- ) || (
- echo %WLAN3% 禁用失败
- )
- )
-
- echo,&echo 请按任意键退出。
- pause>nul
复制代码
我用笨办法这样分开弄的,如何把多个:WLAN、WLAN2、WLAN3 变量合并到一起进行一次性处理?也就是一次性全部关闭与打开。希望老师帮助完美修正一下吧
作者: 459500160 时间: 2021-2-20 22:00
ipconfig+findstr获取电脑上存在的网络配置后=wlan,netsh里一个%wlan%跟着走不就变成一条命令了吗,小白,只是有这个不知道能不能行得通的思路
作者: wh1234567 时间: 2021-2-21 01:08
回复 2# 459500160
思路不错,但如何写代码?
作者: wh1234567 时间: 2021-2-21 16:41
期待老师整合一下呗
作者: xczxczxcz 时间: 2021-2-21 17:11
ps 更爽! !
作者: wh1234567 时间: 2021-2-21 23:07
回复 2# 459500160
在线求助
作者: /zhqsystem/zhq 时间: 2021-2-22 00:23
本帖最后由 /zhqsystem/zhq 于 2021-2-22 00:30 编辑
6.1.7601.17514下测试通过,其它版本未知,注意无线网络名称,后续字符不能存在空格[出错示例WLAN 2 ] 特殊标点等会出错,for内分隔符原文是TAB分隔符空格双向分割的自行更改[不改也不会会出错],自行提权等操作
- for /f "skip=3 delims=" %%i in ('"netsh interface show interface "')do (
- for /f "tokens=1,2,3,* delims= " %%j in ("%%i")do (
- echo,%%j %%m
- if /i "%%j"=="已启用" (
- netsh interface set interface "%%m" disabled
- )else if /i "%%j"=="enable" (
- netsh interface set interface "%%m" disabled
- )else (
- netsh interface set interface "%%m" enable
- )
- )
- )
复制代码
作者: wh1234567 时间: 2021-2-22 01:04
本帖最后由 wh1234567 于 2021-2-22 01:16 编辑
回复 7# /zhqsystem/zhq
已启用 已连接 专用 本地连接
参数错误。
无法禁用
作者: flashercs 时间: 2021-2-22 05:45
- @echo off & title 一键开关网络【自动判断当前状态是否禁用或启用并进行反向切换】
- %1 echo 正在请求管理员权限。。。&&mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
- set WLAN=无线网络连接
- set WLAN2=本地连接
- set WLAN3=无线网络连接 2
- for %%A in ("%WLAN%" "%WLAN2%" "%WLAN3%") do call :foo %%A
- echo,&echo 请按任意键退出。
- pause>nul
- exit /b
- :foo
- netsh interface show interface %1 | find "已禁用" >nul 2>nul && (
- netsh interface set interface %1 enable >nul 2>nul && (
- echo %1 已启用
- ) || (
- echo %1 启用失败
- )
- ) || (
- netsh interface set interface %1 disabled >nul 2>nul && (
- echo %1 已禁用
- ) || (
- echo %1 禁用失败
- )
- )
- exit /b
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |