0

我需要批处理文件来检查 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
4

2 回答 2

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
于 2013-03-21T10:22:52.750 回答
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自动配置地址,并相应地失败。

于 2013-03-21T13:00:21.297 回答