``` for /f "tokens=3*" %%a in ('netsh interface show interface ^| findstr "已连接"') do set "ConName=%%~b"``` 如何调整代码,使得每种状态都分别对应一个变量?
时间: 2024-10-01 18:08:44 浏览: 27
该段代码使用Windows命令行`for /f`循环解析`netsh interface show interface`命令的结果,寻找包含"已连接"的文字,并将第三列的数据赋值给变量`ConName`。如果你想让每种网络状态(比如“已连接”、“未连接”等)对应一个特定的变量,你可以修改代码,创建多个变量并检查每个结果的具体文本。
首先,你需要确定网络状态的其他可能类别。例如:
1. 已连接 -> `Connected`
2. 未连接 -> `Disconnected`
3. 等待确认 -> `Pending`
然后可以将代码改为如下形式:
```batch
set ConnectedName=
set DisconnectedName=
set PendingName=
for /f "tokens=3* delims=:" %%a in ('netsh interface show interface ^| findstr /c:"已连接"/i') do (
set "ConName=%%~b"
set ConnectedName=%ConName%
)
for /f "tokens=3* delims=:" %%a in ('netsh interface show interface ^| findstr /c:"未连接"/i') do (
set "DisconName=%%~b"
set DisconnectedName=%DisconName%
)
for /f "tokens=3* delims=:" %%a in ('netsh interface show interface ^| findstr /c:"等待确认"/i') do (
set "PendingName=%%~b"
set PendingName=%PendingName%
)
```
这样,每个找到的状态都会被存储在相应的变量中。如果你有更多种类的状态,只需添加更多的`for`循环和对应的变量即可。
阅读全文