手机版 收藏 导航

如何在bat脚本中获取本机IP地址并保存到变量中供后续使用

原创   www.link114.cn   2023-12-10 12:29:55

如何在bat脚本中获取本机IP地址并保存到变量中供后续使用

Windows系统自带ipconfig命令,可用于查看和配置网络接口的IP地址、子网掩码等信息。我们可以利用这个命令来获取本机IP地址,并将其保存到变量中。具体步骤如下:

  1. 在bat脚本中使用ipconfig命令获取IP地址信息:
    for /f "tokens=2 delims=:" %%f in ('ipconfig ^| findstr "IPv4 Address"') do set "IP=%%f"
    这行代码会遍历ipconfig命令的输出,找到包含"IPv4 Address"的行,并将其中的IP地址提取出来,赋值给变量"IP"。
  2. 去除变量值中的空格:
    set "IP=%IP: =%"
    有时候,从ipconfig命令获取的IP地址信息中会包含空格,所以需要使用这行代码去除空格。
  3. 现在,变量"IP"就保存本机的IP地址,可以在脚本中后续使用。例如:
    echo 本机IP地址为:%IP%

除ipconfig命令,Windows系统还提供wmic命令,也可用于获取网卡信息。使用wmic命令的步骤如下:

  1. 在bat脚本中使用wmic命令获取IP地址信息:
    for /f "tokens=2 delims==" %%a in ('wmic nicconfig where IPEnabled^=TRUE get IPAddress /value') do set "IP=%%a"
    这行代码会遍历wmic nicconfig命令的输出,找到启用IP的网卡,并提取其IP地址信息,赋值给变量"IP"。
  2. 去除变量值中的引号:
    set "IP=%IP:"=%"
    从wmic命令获取的IP地址信息中会包含引号,所以需要使用这行代码去除引号。
  3. 现在,变量"IP"就保存本机的IP地址,可以在脚本中后续使用。例如:
    echo 本机IP地址为:%IP%

除使用Windows自带的命令行工具,我们还可以使用PowerShell来获取本机IP地址。在bat脚本中调用PowerShell命令的步骤如下:

  1. 在bat脚本中使用PowerShell命令获取IP地址信息:
    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"。
  2. 现在,变量"IP"就保存本机的IP地址,可以在脚本中后续使用。例如:
    echo 本机IP地址为:%IP%

以上就是在bat脚本中获取本机IP地址并保存到变量中的三种方法。这些方法各有优缺点,开发者可以根据实际需求选择合适的方式。ipconfig和wmic命令是Windows自带的,使用方便,但可能不太适合在某些特殊环境(如无法访问CMD)下使用;而PowerShell命令则更加灵活和强大,但需要用户具备一定的PowerShell知识。