Если еще пакетная команда с ipconfig
У меня проблемы с использованием оператора 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
Любая помощь приветствуется. Благодарю.
1 ответ
find возвращает ненулевое возвращаемое значение, если результат не найден. Попробуйте что-то вроде
ipconfig | find "IP Address" || echo No IP found
Как примечание: ваш сценарий не работает с моей установкой Win7, вам придется искать строку "IPv4-Adresse" или "IPv6-Adresse". find "IP"
может быть немного более общим.
ipconfig /all | find "v4" || echo No IP found
Это работает лучше для меня.