【问题标题】:Windows: How to programatically connect to wireless networks?Windows:如何以编程方式连接到无线网络?
【发布时间】:2018-11-09 20:48:43
【问题描述】:

在 Windows 10 中,是否可以设置已知网络并能够连接到它们而无需所有鼠标移动和单击?

【问题讨论】:

    标签: windows batch-file for-loop network-programming netsh


    【解决方案1】:

    使用 Windows 批处理文件,您可以将其设置为连接到您已知的网络(下面的 Network1 或 Network2),而无需触摸鼠标。

    @echo off
    setlocal EnableDelayedExpansion
    for %%i in ("Network1"
                "Network2") do (
        netsh wlan show networks mode=ssid | findstr /C:%%i
        if !ERRORLEVEL! EQU 0 (
            echo "Found %%~i - connecting..."
            netsh wlan connect name=%%i
            exit /b 
        ) else (
            echo "Did not find %%~i"
        )
    )
    @echo on
    

    将以上内容保存到 .bat 并从 cmd.exe 或类似 Listary 的程序运行。

    关于代码的一些cmets:

    1. 如果您列出的网络有多个可用,它将连接到 for 循环列表中的第一个。您也可以将列表放入文件中并将for %%i 更改为for /F %%i
    2. EnableDelayedExpansion 和“!” ERRORLEVEL附近 需要防止变量ERRORLEVEL 被分配 无论脚本开头是什么。既然我不 通常编写 Windows 批处理文件,这是我生命中的 2 个小时 走了,你将不必处理。
    3. 所有的回显都是为了调试;顶部的回声抑制了它。
    4. Windows 批处理文件中的变量需要%%。该变量在命令行中以% 引用。
    5. %%~i 在输出到标准输出时去除字符串周围的引号。

    【讨论】:

    • 您知道,我几乎可以在 StackOverFlow 上找到关于该主题的大约六个问题和答案。
    • @Squashman - 有链接吗?我看了看,找不到任何将它联系在一起的东西,但我很高兴被证明是错误的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-30
    • 1970-01-01
    • 2023-01-27
    • 1970-01-01
    • 1970-01-01
    • 2013-02-02
    相关资源
    最近更新 更多