无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 16027|回复: 32
打印 上一主题 下一主题

[求助] 就是说系统进不了,可是想知道本地IP及网关、DNS

    [复制链接]
1#
发表于 2014-6-2 19:30:36 | 显示全部楼层
本帖最后由 pznpt 于 2014-9-2 01:23 编辑

P处理 获取网卡名称及IP信息.bat
考虑到在WinPE中运行,但PE精简程度不一样,除reg.exe外,未使用其它外部命令
也可以在正常系统中运行,查看其它系统安装分区的IP信息,或本系统IP信息
2014-9-1
改正按F8进入“最后一次正确配置”后,注册表项HKLM\SYSTEM\ControlSet001不存在而无法运行的问题;
增加获取Domain名称和HostName名称;
将结果保存到脚本所在目录下IPInfo.txt文本中,而不是打印到屏幕

2014-6-4
修正了在xp上获取的DNS地址可能出现多余的\0字符

  1. @echo off 2>nul 3>nul
  2. setlocal enabledelayedexpansion
  3. set /p Input=输入要查询的系统安装盘符[例如D]:
  4. if /i "%Input%:" neq "%systemDrive%" (
  5.     for %%a in (software system) do (
  6.         if not exist "%Input%:\Windows\System32\config\%%a" echo,输错啦&pause & exit/b
  7.     )
  8.     reg load HKLM\Temp_HIV1 %Input%:\Windows\System32\config\software >nul
  9.     reg load HKLM\Temp_HIV2 %Input%:\Windows\System32\config\system >nul
  10.     call :GetIPInfo Temp_HIV1 Temp_HIV2
  11.     reg unload HKLM\Temp_HIV1 >nul
  12.     reg unload HKLM\Temp_HIV2 >nul
  13. ) else call :GetIPInfo SOFTWARE SYSTEM
  14. start "" "%~dp0IPInfo.txt" & exit/b

  15. :GetIPInfo
  16. for /f "tokens=1,2*" %%a in ('reg query "HKLM\%2\select"') do (
  17.     if /i "%%a" == "Default" set /a x=%%c
  18. )
  19. set "v1=Microsoft\Windows NT\CurrentVersion\NetworkCards"
  20. set "v2=ControlSet00%x%\Control\Network"
  21. set "v3=ControlSet00%x%\services\Tcpip\Parameters"
  22. set "s=EnableDHCP NameServer IPAddress SubnetMask DefaultGateway"
  23. set "s=%s% DHCPNameServer DHCPIPAddress DHCPSubnetMask DHCPDefaultGateway"

  24. for /f "delims=" %%a in ('reg query "HKLM\%1\%v1%"') do (
  25.     set "v=%%a"
  26.     if "!v:%v1%\=!" neq "!v!" (
  27.         set /a n+=1
  28.         for /f "tokens=1,2*" %%b in ('reg query "%%a"') do (
  29.             if /i "%%b" == "ServiceName" (
  30.                 set "Guid!n!=%%d"
  31.             ) else if /i "%%b" == "Description" set "NetCard!n!=%%d"
  32.         )
  33.     )
  34. )
  35. if not defined n echo,找不到网卡&pause & exit

  36. (for /f "tokens=1,2*" %%a in ('reg query "HKLM\%2\%v3%"') do (
  37.     if /i "%%a" == "Domain" (
  38.         if "%%c" neq "" (echo,域名名称:%%c)else echo,域名名称:^<nul^>
  39.     ) else if /i "%%a" == "HostName" echo,主机名称:%%c
  40. ))>"%~dp0IPInfo.txt"

  41. for %%a in (%s%) do set "_%%a=1"
  42. (for /l %%a in (1 1 %n%) do (
  43.     echo,&echo,网卡名称:!NetCard%%a!
  44.     for %%b in (%s%) do set "%%b="
  45.     for /f "delims=" %%b in ('reg query "HKLM\%2\%v2%" /s') do (
  46.         if defined flag (
  47.             for /f "tokens=1,2*" %%c in ("%%b") do (
  48.                 if /i "%%c" == "Name" echo,连接名称:%%e& set "flag="
  49.             )
  50.         ) else (
  51.             set "v=%%b"
  52.             for %%c in ("\!Guid%%a!") do if "!v:%%~c=!" neq "!v!" set flag=1
  53.         )
  54.     )
  55.     for /f "tokens=1,2*" %%b in ('reg query "HKLM\%2\%v3%\Interfaces\!Guid%%a!"') do (
  56.         if defined _%%b if "%%d" neq "" set "v=%%d" & set "%%b=!v:\0=!"
  57.     )
  58.     if /i "!EnableDHCP!" == "0x1" (
  59.         echo,IP 地 址:!DHCPIPAddress!
  60.         echo,子网掩码:!DHCPSubnetMask!
  61.         echo,默认网关:!DHCPDefaultGateway!
  62.         echo,DNS 地址:!DHCPNameServer!
  63.     ) else (
  64.         echo,IP 地 址:!IPAddress!
  65.         echo,子网掩码:!SubnetMask!
  66.         echo,默认网关:!DefaultGateway!
  67.         echo,DNS 地址:!NameServer!
  68.     )
  69. ))>>"%~dp0IPInfo.txt"
复制代码


点评

可以增加一下,获取网卡的MAC地址吗  详情 回复 发表于 2023-12-12 15:42
TO pznpt大大 十分感謝 用途很大! 但希望能多加點功能  发表于 2014-8-30 22:33

评分

参与人数 4无忧币 +20 收起 理由
nfans + 5 很给力!
being + 5 很给力!
saiz + 5 非常好用 十分感謝!!
nytc006 + 5 很给力!

查看全部评分

回复

使用道具 举报

2#
发表于 2014-9-2 00:40:58 | 显示全部楼层
saiz 发表于 2014-8-30 22:31
TO pznpt大大
十分感謝 用途很大!
但希望能多加點功能

2楼请测试
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-5-8 20:25

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表