[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[网络连接] 关于网络禁用与启用的批处理整合

本帖最后由 wh1234567 于 2021-2-21 01:06 编辑
  1. @echo off & title 一键开关网络【自动判断当前状态是否禁用或启用并进行反向切换】
  2. %1 echo 正在请求管理员权限。。。&&mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
  3. set WLAN=无线网络连接
  4. set WLAN2=本地连接
  5. set WLAN3=无线网络连接 2
  6. netsh interface show interface "%WLAN%" | find "已禁用" >nul 2>nul && (
  7.     netsh interface set interface "%WLAN%" enable >nul 2>nul && (
  8.         echo %WLAN% 已启用
  9.     ) || (
  10.         echo %WLAN% 启用失败
  11.     )
  12. ) || (
  13.     netsh interface set interface "%WLAN%" disabled >nul 2>nul && (
  14.         echo %WLAN% 已禁用
  15.     ) || (
  16.         echo %WLAN% 禁用失败
  17.     )
  18. )
  19. netsh interface show interface "%WLAN2%" | find "已禁用" >nul 2>nul && (
  20.     netsh interface set interface "%WLAN2%" enable >nul 2>nul && (
  21.         echo %WLAN2% 已启用
  22.     ) || (
  23.         echo %WLAN2% 启用失败
  24.     )
  25. ) || (
  26.     netsh interface set interface "%WLAN2%" disabled >nul 2>nul && (
  27.         echo %WLAN2% 已禁用
  28.     ) || (
  29.         echo %WLAN2% 禁用失败
  30.     )
  31. )
  32. netsh interface show interface "%WLAN3%" | find "已禁用" >nul 2>nul && (
  33.     netsh interface set interface "%WLAN3%" enable >nul 2>nul && (
  34.         echo %WLAN3% 已启用
  35.     ) || (
  36.         echo %WLAN3% 启用失败
  37.     )
  38. ) || (
  39.     netsh interface set interface "%WLAN3%" disabled >nul 2>nul && (
  40.         echo %WLAN3% 已禁用
  41.     ) || (
  42.         echo %WLAN3% 禁用失败
  43.     )
  44. )
  45. echo,&echo 请按任意键退出。
  46. pause>nul
复制代码
我用笨办法这样分开弄的,如何把多个:WLAN、WLAN2、WLAN3 变量合并到一起进行一次性处理?也就是一次性全部关闭与打开。希望老师帮助完美修正一下吧

  1. @echo off & title 一键开关网络【自动判断当前状态是否禁用或启用并进行反向切换】
  2. %1 echo 正在请求管理员权限。。。&&mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
  3. set WLAN=无线网络连接
  4. set WLAN2=本地连接
  5. set WLAN3=无线网络连接 2
  6. for %%A in ("%WLAN%" "%WLAN2%" "%WLAN3%") do call :foo %%A
  7. echo,&echo 请按任意键退出。
  8. pause>nul
  9. exit /b
  10. :foo
  11. netsh interface show interface %1 | find "已禁用" >nul 2>nul && (
  12.     netsh interface set interface %1 enable >nul 2>nul && (
  13.         echo %1 已启用
  14.     ) || (
  15.         echo %1 启用失败
  16.     )
  17. ) || (
  18.     netsh interface set interface %1 disabled >nul 2>nul && (
  19.         echo %1 已禁用
  20.     ) || (
  21.         echo %1 禁用失败
  22.     )
  23. )
  24. exit /b
复制代码
1

评分人数

    • wh1234567: 完美解决,感谢帮助,如果能弄成自动获取变 ...技术 + 1
微信:flashercs
QQ:49908356

TOP

本帖最后由 wh1234567 于 2021-2-22 01:16 编辑

回复 7# /zhqsystem/zhq

已启用            已连接            专用               本地连接
参数错误。


无法禁用

TOP

本帖最后由 /zhqsystem/zhq 于 2021-2-22 00:30 编辑

6.1.7601.17514下测试通过,其它版本未知,注意无线网络名称,后续字符不能存在空格[出错示例WLAN 2   ] 特殊标点等会出错,for内分隔符原文是TAB分隔符空格双向分割的自行更改[不改也不会会出错],自行提权等操作
  1. for /f "skip=3 delims=" %%i in ('"netsh interface show interface "')do (
  2. for /f "tokens=1,2,3,* delims=  " %%j in ("%%i")do (
  3.   echo,%%j %%m
  4.   if /i "%%j"=="已启用" (
  5.    netsh interface set interface "%%m" disabled
  6.   )else if /i "%%j"=="enable" (
  7.    netsh interface set interface "%%m" disabled
  8.   )else (
  9.    netsh interface set interface "%%m" enable
  10.   )
  11. )
  12. )
复制代码
这么好的论坛你上哪找,运行测试环境为6.1.7601-64
注:请遵守互联网信息安全,勿用于非法用途

TOP

回复 2# 459500160

在线求助

TOP

ps 更爽!            !
QQ: 己阵亡
脚本优先 [PowerShell win10]

TOP

期待老师整合一下呗

TOP

回复 2# 459500160

思路不错,但如何写代码?

TOP

ipconfig+findstr获取电脑上存在的网络配置后=wlan,netsh里一个%wlan%跟着走不就变成一条命令了吗,小白,只是有这个不知道能不能行得通的思路

TOP

返回列表