【问题标题】:If else batch command with ipconfigIf else 使用 ipconfig 批处理命令
【发布时间】:2012-10-03 21:41:47
【问题描述】:

我在批处理命令中使用 if else 语句时遇到问题。我正在运行 Windows XP。我写了一个简单的批处理文件来输出我的 ip 地址,它工作正常。但是,如果没有要显示的任何 IP 地址,我想包括“未找到 IP 地址”。我在这里查看了类似的问题,但找不到解决方案。

这是我的代码(当有 IP 地址时可以正常工作)

@echo off
color 02
mode con:cols=60 lines=3
Title What's my ip?
:start
echo.
echo                   Here is your ip address!
ipconfig > nul
ipconfig > nul
ipconfig > nul
cls
echo.
ipconfig | find "IP Address"
ipconfig > nul
ipconfig > nul
ipconfig > nul
ipconfig > nul

任何帮助将不胜感激。谢谢。

【问题讨论】:

  • 仅在 IPCONFIG 输出中找到“IP 地址”可能会产生虚假或无用的结果。在我的配置中,它会显示三个 IP 地址,其中两个真的没用(vpn loopback 和 vpn autoconfig)。

标签: batch-file command if-statement ipconfig


【解决方案1】:

如果没有找到结果,find 将返回一个非零的返回值。 尝试类似

ipconfig | find "IP Address" || echo No IP found

附带说明:您的脚本不适用于我的 Win7 安装,您必须搜索字符串“IPv4-Adresse”或“IPv6-Adresse”。 find "IP" 可能更通用一点。

【讨论】:

    【解决方案2】:
    ipconfig /all | find "v4" || echo No IP found
    

    这对我来说效果更好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-09
      • 1970-01-01
      • 2013-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多