Я делаю программу, которая проверяет, является ли IP-адрес пользователя определенным IP-адресом.Windows Batch - Как получить внешний IP-адрес в переменной пакетного файла
В настоящее время я создал успешную внутреннюю версию IP:
@echo off
set userIp=192.168.90.100
for /f "tokens=4 delims= " %%i in ('route print ^| find " 0.0.0.0"') do set localIp=%%i
for /f "delims=[] tokens=2" %%a in ('ping %computername% -4 -n 1 ^| findstr "["') do set thisip=%%a
goto :Check
:Check
if %localIp%==%userIp% goto :Good
if %thisip%==%userIp% goto :Good
goto :Bad
И я пытаюсь сделать то же самое, что работает с внешними IP-адресами.
Я исследовал онлайн, и вот что я получил до сих пор.
@echo off
for /f "tokens=2 delims=:" %%a IN ('nslookup myip.opendns.com. resolver1.opendns.com ^| findstr /IC:"Address"') do if /i %%a=="10.11.12.13" goto :Good
goto :Bad
Мне нужна помощь, как это исправить.
С уважением, djmrminer.
Спасибо @LotPings, пакетный работал. – djmrminer
Угадайте, я должен обновить мою версию powershell до версии 3 в Windows 7. – Squashman