编写一个 .bat 文件,将批处理命令输出的某一部分选入批处理文件变量中

编写一个 .bat 文件,将批处理命令输出的某一部分选入批处理文件变量中

如果我在 Windows 7 系统上运行以下命令(其中 cable 是我的网络适配器的名称)

netsh interface ip show ipaddresses cable

我得到以下结果:

Address 10.17.179.17 Parameters
---------------------------------------------------------
Interface Luid     : Cable
Scope Id           : 0.0
Valid Lifetime     : 22h46m12s
Preferred Lifetime : 22h46m12s
DAD State          : Deprecated
Address Type       : Dhcp
Skip as Source     : false

对于批处理文件的这一部分,我只关心将 IP 地址(本例中为 10.17.179.17)放入变量中以供以后使用。IP 地址每天都会变化,所以我需要一个变量。

因此我希望得到以下结果:

@SET IPaddyVariableName=10.17.179.17
@SET IPaddyVariableName= <some batch file code I need help with as 10.17.179.17 is hardcoded>

请帮我将10.17.179.17(显然会改变)放入变量中?一旦将其放入变量中,我就可以对其进行排序。谢谢大家!

答案1

我的连接名为本地连接...

for /f "tokens=2 delims= " %%a in ('netsh interface ip show ipaddresses "Local Area Connection" ^| findstr /r "Address[\s]*[^\s]*[\s]*Parameters"') do @set IPaddyVariableName=%%a

echo.
echo %IPaddyVariableName%
echo.

相关内容