- 如何使用命令行查看和管理你当前已连接的 WiFi 网络 (最常用)。
- 如何使用命令行连接到新的 WiFi 网络 (高级用户)。
- 如何创建一个批处理脚本或 Shell 脚本来一键执行 WiFi 操作 (自动化)。
使用命令行管理已连接的 WiFi (最常用)
这部分适用于大多数现代操作系统,可以快速查看连接状态、信号强度等。

在 Windows (10/11) 中
打开 命令提示符 或 PowerShell (推荐使用 PowerShell,功能更强大)。
a. 查看当前连接的 WiFi 信息
# 获取当前所有网络配置文件 netsh wlan show profiles # 获取特定 WiFi 的详细信息(将 "YourWiFiName" 替换为你的网络名称) netsh wlan show profile name="YourWiFiName" key=clear
key=clear会显示密码的明文,非常有用。
b. 查看当前 WiFi 的信号强度和速度
# 持续监控 WiFi 信号强度,按 Ctrl+C 停止 netsh wlan show interfaces | Select-String "信号" # 中文系统 # 或者 netsh wlan show interfaces | Select-String "Signal" # 英文系统
c. 断开/连接 WiFi

# 断开指定 WiFi 网络 netsh wlan disconnect interface="Wi-Fi" # 连接到指定 WiFi 网络 (需要预先知道网络名称) # 这个命令通常需要你之前已经连接过或保存过该网络 netsh wlan connect name="YourWiFiName" interface="Wi-Fi"
在 macOS 中
打开 终端。
a. 查看当前连接的 WiFi 信息
# 查看当前网络服务的名称 (通常是 Wi-Fi 或 en0) networksetup -listallnetworkservices # 查看当前连接的 WiFi 名称 (将 "Wi-Fi" 替换为你的服务名) networksetup -getairportnetwork Wi-Fi # 查看当前 WiFi 的详细信息,包括 IP 地址、路由器等 ifconfig | grep "inet " # 查看IP
b. 查看当前 WiFi 的信号强度
# 每秒刷新一次,显示信号强度 (RSSI) 和噪声 while :; do /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I | grep -E "agrCtlRSSI|agrExtRSSI|lastTxRate"; sleep 1; done
agrCtlRSSI信号值越大(负得越少),信号越好。-30dBm 极好,-90dBm 很差。
c. 断开/连接 WiFi

# 关闭 Wi-Fi 网络接口 networksetup -setairportpower Wi-Fi off # 打开 Wi-Fi 网络接口 networksetup -setairportpower Wi-Fi on # 连接到指定 WiFi 网络 (需要预先知道网络名称) # 这个命令需要管理员权限 (sudo) sudo networksetup -setairportnetwork Wi-Fi YourWiFiName YourPassword
- 将
YourWiFiName和YourPassword替换为实际的名称和密码。
在 Linux (Ubuntu/Debian 等) 中
打开 终端,Linux 通常使用 nmcli (NetworkManager Command-Line Interface) 或 iwconfig。
a. 使用 nmcli (推荐)
# 查看所有已保存的网络连接 nmcli connection show # 查看当前活动的网络连接 nmcli connection show --active # 查看当前 WiFi 的详细信息 nmcli device wifi list # 连接到新的 WiFi 网络 (如果网络未保存,会提示输入密码) nmcli device wifi connect YourWiFiName password YourPassword # 断开当前 WiFi 连接 nmcli device disconnect wlan0 # wlan0 是你的无线网卡名称,可以用 `nmcli device status` 查看
b. 使用 iwconfig (更底层)
# 查看无线接口的配置和信号强度 iwconfig # 你会看到类似 "Link Quality=70/70 Signal level=-30 dBm" 这样的信息
使用命令行连接到新的 WiFi 网络 (高级)
直接在命令行输入密码连接到新网络,无需手动点击,这在服务器管理或自动化场景中非常有用。
Windows (PowerShell)
这比较复杂,因为 Windows 不允许直接通过命令行连接一个全新的、未保存的网络,通常需要先创建一个配置文件。
# 1. 创建一个临时的 XML 配置文件
$xmlContent @"
<?xml version="1.0"?>
<WLANProfile xmlns="http://www.microsoft.com/networking/WLAN/profile/v1">
<name>YourNewWiFiName</name>
<SSIDConfig>
<SSID>
<name>YourNewWiFiName</name>
</SSID>
</SSIDConfig>
<connectionType>ESS</connectionType>
<connectionMode>auto</connectionMode>
<MSM>
<security>
<authEncryption>
<authentication>WPA2PSK</authentication>
<encryption>AES</encryption>
<useOneX>false</useOneX>
</authEncryption>
<sharedKey>
<keyType>passPhrase</keyType>
<protected>false</protected>
<keyMaterial>YourNewWiFiPassword</keyMaterial>
</sharedKey>
</security>
</MSM>
</WLANProfile>
"@ | Out-File -FilePath "$env:TEMP\newwifi.xml"
# 2. 使用该配置文件连接网络
netsh wlan add profile filename="$env:TEMP\newwifi.xml"
# 3. 连接到该网络
netsh wlan connect name="YourNewWiFiName"
# 4. (可选) 连接成功后删除配置文件
netsh wlan delete profile name="YourNewWiFiName"
macOS
# 直接连接 (需要管理员权限) # 将 "YourNewWiFiName" 和 "YourNewWiFiPassword" 替换为实际值 sudo networksetup -setairportnetwork Wi-Fi "YourNewWiFiName" "YourNewWiFiPassword"
Linux (nmcli)
这是最简单的之一。
# 直接连接,并记住密码(可选) # --ask 表示如果需要会提示输入密码 nmcli device wifi connect YourNewWiFiName password YourNewWiFiName # 如果不想记住密码,临时连接 nmcli device wifi connect YourNewWiFiName --ask
创建一键执行的 WiFi 脚本
这是将命令“创建”为可执行程序的最佳方式,下面是不同平台的示例。
Windows: 创建一个批处理文件 (.bat)
- 打开记事本。
- 粘贴以下代码,这个脚本会列出所有可用的 WiFi,然后让你选择连接。
@echo off
echo 正在扫描附近的 WiFi 网络...
echo.
REM 获取所有 WiFi 配置文件
for /f "tokens=2 delims=:" %%a in ('netsh wlan show profiles ^| findstr "所有用户配置文件"') do (
set "ssid=%%a"
set "ssid=!ssid: =!"
echo !ssid!
)
echo.
set /p choice=请输入你要连接的 WiFi 名称:
echo.
REM 检查输入的 SSID 是否存在
netsh wlan show profile name="%choice%" >nul 2>&1
if %errorlevel% neq 0 (
echo 错误: 未找到名为 "%choice%" 的网络配置文件。
echo 请先手动连接一次该网络以保存配置。
pause
exit /b
)
echo 正在连接到 %choice%...
netsh wlan connect name="%choice%"
if %errorlevel% equ 0 (
echo.
echo 连接成功!
) else (
echo.
echo 连接失败!请检查网络名称或密码。
)
pause
- 点击“文件” -> “另存为”,将“保存类型”选为“所有文件”,文件名命名为
ConnectWiFi.bat,然后保存。 - 双击运行这个
.bat文件即可。
macOS: 创建一个 Shell 脚本 (.sh)
- 打开终端。
- 创建一个新文件,
connect_wifi.sh。nano connect_wifi.sh
- 粘贴以下代码:
#!/bin/bash
# 获取所有已保存的 WiFi 网络
echo "已保存的 WiFi 网络:"
networksetup -listpreferredwirelessnetworks Wi-Fi
# 提示用户输入要连接的网络
read -p "请输入你要连接的 WiFi 名称: " ssid
# 检查网络是否存在
if networksetup -getairportnetwork Wi-Fi | grep -q "$ssid"; then
echo "正在连接到 $ssid..."
networksetup -setairportnetwork Wi-Fi "$ssid"
if [ $? -eq 0 ]; then
echo "连接成功!"
else
echo "连接失败!可能需要密码。"
fi
else
echo "错误: 未找到名为 '$ssid' 的网络。"
echo "请先在系统偏好设置中手动连接一次。"
fi
- 按
Ctrl + X,然后按Y,最后按Enter保存并退出。 - 给脚本添加执行权限:
chmod +x connect_wifi.sh
- 运行脚本:
./connect_wifi.sh
| 任务 | Windows (PowerShell) | macOS (Terminal) | Linux (Terminal) |
|---|---|---|---|
| 查看已连WiFi | netsh wlan show profiles |
networksetup -getairportnetwork Wi-Fi |
nmcli connection show --active |
| 查看信号强度 | netsh wlan show interfaces |
airport -I |
iwconfig |
| 连接新WiFi | (复杂,需创建XML) | sudo networksetup -setairportnetwork ... |
nmcli device wifi connect ... |
| 一键脚本 | 创建 .bat 文件 |
创建 .sh 文件 |
创建 .sh 文件 |
希望这个全面的指南能帮助你“创建”并熟练使用 WiFi 命令!
