Windows系统自带ipconfig命令,可用于查看和配置网络接口的IP地址、子网掩码等信息。我们可以利用这个命令来获取本机IP地址,并将其保存到变量中。具体步骤如下:
for /f "tokens=2 delims=:" %%f in ('ipconfig ^| findstr "IPv4 Address"') do set "IP=%%f"
这行代码会遍历ipconfig命令的输出,找到包含"IPv4 Address"的行,并将其中的IP地址提取出来,赋值给变量"IP"。
set "IP=%IP: =%"
有时候,从ipconfig命令获取的IP地址信息中会包含空格,所以需要使用这行代码去除空格。
echo 本机IP地址为:%IP%
除ipconfig命令,Windows系统还提供wmic命令,也可用于获取网卡信息。使用wmic命令的步骤如下:
for /f "tokens=2 delims==" %%a in ('wmic nicconfig where IPEnabled^=TRUE get IPAddress /value') do set "IP=%%a"
这行代码会遍历wmic nicconfig命令的输出,找到启用IP的网卡,并提取其IP地址信息,赋值给变量"IP"。
set "IP=%IP:"=%"
从wmic命令获取的IP地址信息中会包含引号,所以需要使用这行代码去除引号。
echo 本机IP地址为:%IP%
除使用Windows自带的命令行工具,我们还可以使用PowerShell来获取本机IP地址。在bat脚本中调用PowerShell命令的步骤如下:
for /f "delims=" %%a in ('powershell -command "([System.Net.Dns]::GetHostEntry('').AddressList | Select-Object -First 1 -ExpandProperty IPAddressToString)"') do set "IP=%%a"
这行代码会调用PowerShell的cmdlet获取本机的IP地址信息,并将其赋值给变量"IP"。
echo 本机IP地址为:%IP%
以上就是在bat脚本中获取本机IP地址并保存到变量中的三种方法。这些方法各有优缺点,开发者可以根据实际需求选择合适的方式。ipconfig和wmic命令是Windows自带的,使用方便,但可能不太适合在某些特殊环境(如无法访问CMD)下使用;而PowerShell命令则更加灵活和强大,但需要用户具备一定的PowerShell知识。