У меня есть пакетный скрипт, который получает IP-адрес компьютера и, если его нет, извлекает IP-адрес адаптера WIFI. Он отлично работает для адаптера Ethernet, однако, когда он находит для адаптера WIFI, он работает в некоторых системах, но не работает на другие, как я обнаружил, в разных системах имена адаптеров WIFI различаются. Я не очень разбираюсь в пакетных сценариях.
Вот сценарий, который я пробовал.
@echo off
setlocal enabledelayedexpansion
::just a sample adapter here:
set "adapter=Ethernet adapter Ethernet"
set adapterfound=false
echo Network Connection Test
echo %new%
for /f "usebackq tokens=1-2 delims=:" %%f in (`ipconfig`) do (
set "item=%%f"
if /i "!item!"=="!adapter!" (
echo found
set adapterfound=true
) else if not "!item!"=="!item:IPv4 Address=!" if "!adapterfound!"=="true" (
set _IPaddr=%%g
echo Your IP Address is: %%g
goto :break
rem set adapterfound=false
rem echo not found
)
rem echo adapterfound
)
:break
if "!adapterfound!"=="false" (
:: sometimes I get another name like "adapter=Wireless LAN adapter Wi-Fi 2"
set "adapter=Wireless LAN adapter Wireless Network Connection"
set adapterfound=false
echo Network Connection Test
for /f "usebackq tokens=1-2 delims=:" %%f in (`ipconfig`) do (
set "item=%%f"
if /i "!item!"=="!adapter!" (
echo found
set adapterfound=true
) else if not "!item!"=="!item:IPv4 Address=!" if "!adapterfound!"=="true" (
set _IPaddr=%%g
echo Your IP Address of WIFI is: %%g
set adapterfound=false
)
)
)
for /f "tokens=* delims= " %%a in ("%_IPaddr%") do set _IPaddr=%%a
echo %_IPaddr%