none
关于批处理请教高手 RRS feed

  • 问题

  • 在批处理,中如何用 for  语句获取本机的DNS服务器地址 ?

    在网上参考了一些资料,因为‘本地连接’的名称不同,所以很难获得到本机的DNS 地址。请高手指点!

     

    2008年11月12日 4:22

答案

  • 解决了,用的ipconfig 命令。

     

     

    @echo off

    echo.&echo.
    echo 正在获取DNS服务器地址信息.....
    echo.&echo.
    for /f "tokens=2 delims=:" %%i in ('ipconfig /all ^| find "DNS Servers"') do call :GET_DNS %%i
    set /p= ******获取DNS服务器失败!******
    exit
    :GET_DNS
    if not "%1"=="" echo DNS服务器地址: %1
    ping %1
    echo.&echo.
    set /p=******

    exit

     

     

    2008年11月15日 9:27

全部回复

  • 我这里只有com解决办法

     

    microsoft shell object 这个类库的目录com对象  可以通过“得到特殊目录”的方法 直接得到“连接管理”的那个目录   、

    然后枚举里面的文件 可以得到所有的连接名  之后就好办了

     

     

    也有用调用ipconfig 生成文件然后分析的方法

     

     

    ————————————————————————

    忘记说了 com的文件是  \windows\system32\shdocvw.dll

    2008年11月13日 1:41
  • 解决了,用的ipconfig 命令。

     

     

    @echo off

    echo.&echo.
    echo 正在获取DNS服务器地址信息.....
    echo.&echo.
    for /f "tokens=2 delims=:" %%i in ('ipconfig /all ^| find "DNS Servers"') do call :GET_DNS %%i
    set /p= ******获取DNS服务器失败!******
    exit
    :GET_DNS
    if not "%1"=="" echo DNS服务器地址: %1
    ping %1
    echo.&echo.
    set /p=******

    exit

     

     

    2008年11月15日 9:27