我需要批处理文件来检查ip地址是空白还是丢失。有时批处理文件将在Windows 7上运行,有时在Windows XP上运行。所以我需要这种输出。
如果没有丢失或空白 “你的ip是%ip%,一切都很好
如果遗失或空白 “错误没有找到ip”
Connection-specific DNS Suffix . : dxtnxx.naits.local
IP Address. . . . . . . . . . . . : 11.73.11.111
Subnet Mask . . . . . . . . . . . : 255.255.254.0
IP Address. . . . . . . . . . . . : fe80::21b:77ff:fec3:f95b%5
Default Gateway . . . . . . . . . : 10.11.11.1
答案 0 :(得分:2)
试试这个:
@echo off &setlocal
for /f "tokens=2delims=[]" %%a in ('ping -n 1 -4 %computername% ^| find /i "%computername%"') do set "ip=%%a"
if "%ip%"=="127.0.0.1" set "ip="
if not defined ip (echo.Error No ip found) else echo.your ip is %ip%, Everything is ok
endlocal
答案 1 :(得分:0)
for /f "tokens=2 delims={}" %%I in (
'wmic nicconfig where ipenabled^="TRUE" get ipaddress /format:list'
) do set "ip=%%~I"
if "%ip:~0,7%" equ "169.254" set ip=
if "%ip:~0,2%" equ "0." set ip=
if not defined ip (
echo Error: No Internet access.
exit /b 1
)
echo Your IP address is %ip%. We're good to go.
正如mfm4aa所指出的,这个脚本不适用于XP Home,因为XP Home不包含wmic
。不过,XP Pro应该没问题。
除了检查机器是否有IP地址外,此脚本还将检查IP地址是否为169.254
自动配置地址,并相应地失败。