总而言之,我需要将子网掩码单独添加到我可以在DOS中使用的变量
我可以自己获取IP地址但需要掩码我还需要将这些值提供给批处理文件的其他部分
我怎么能独自显示面具?我搜索了一下,最近我来的是netsh命令,但只能散布信息。
我需要隔离子网掩码。
希望有人有个主意吗?
由于
Confuseis
答案 0 :(得分:2)
让我们使用netsh int ip show config "Your connection name"
:
Configuration for interface "Your connection name"
DHCP enabled: Yes
IP Address: 192.168.1.111
Subnet Prefix: 192.168.1.0/24 (mask 255.255.255.0)
Default Gateway: 192.168.1.1
Gateway Metric: 0
InterfaceMetric: 10
DNS servers configured through DHCP: 192.168.1.1
Register with which suffix: Primary only
WINS servers configured through DHCP: None
通过在mask
和(
之间提取文字然后获取最后一个标记来解析)
行:
@echo off
for /f "delims=() tokens=2" %%a in (
'netsh int ip show config "Your connection name" ^| findstr /r "(.*)"'
) do for %%b in (%%a) do set mask=%%b
echo The netmask is %mask%
pause
要提取掩码位值(在这种情况下为24
),请在代码中使用delims=/(
而不是delims=()
。
答案 1 :(得分:0)
我已经测试了下面的答案。这将使子网掩码变为变量,在本例中为%subnet%
for /f "tokens=2,* delims=:" %%A in ('ipconfig ^| find "Subnet"') do set subnet=%%A
set subnet=%subnet:~1%
echo %subnet%