找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 89668|回复: 26

[注册表类] [已解决]批处理怎样显示计算机名、ip地址、子网掩码、网关信息?

[复制链接]
发表于 2011-6-10 11:21:19 | 显示全部楼层 |阅读模式
请直接看19楼的1个小问题

  1. set /p name=请输您的计算机名:

  2.          
  3. reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName" /v "ComputerName" /t reg_sz /d %name% /f >nul 2>nul
  4. reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ActiveComputerName" /v "ComputerName" /t reg_sz /d %name% /f >nul 2>nul

  5. reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters" /v "NV Hostname" /t reg_sz /d %name% /f >nul 2>nul
  6. reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters" /v "Hostname" /t reg_sz /d %name% /f >nul 2>nul



  7. reg add "HKLM\SYSTEM\ControlSet001\Control\ComputerName\ActiveComputerName" /v "ComputerName" /t REG_SZ /d "%name%" /f
  8. reg add "HKLM\SYSTEM\ControlSet001\Services\Tcpip\Parameters" /v "NV Hostname" /t REG_SZ /d "%name%" /f
  9. reg add "HKLM\SYSTEM\ControlSet001\Services\Tcpip\Parameters" /v "Hostname" /t REG_SZ /d "%name%" /f
  10. reg add "HKLM\SYSTEM\ControlSet002\Control\ComputerName\ComputerName" /v "ComputerName" /t REG_SZ /d "%name%" /f



  11. set/p slection1=请输入IP地址(只输最后1位):
  12. netsh interface ip set address name="本地连接" source=static addr="10.10.94.%slection1%" mask=255.255.255.0 gateway=10.10.94.1 gwmetric=1




  13. wmic computersystem where Name="%COMPUTERNAME%" call JoinDomainOrWorkgroup Name="LIBYW"
  14. echo 修改工作组完毕



  15. ipconfig/all
  16. pause


  17. exit
复制代码
有个问题请教:

有什么批处理命令,只显示出  计算机名  ip地址  子网掩码  网关  子网的信息?(用ipconfig/all显示的信息太多、太杂乱)

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2011-6-10 11:38:28 | 显示全部楼层
用findstr命令过滤一下
发表于 2011-6-10 12:52:15 | 显示全部楼层
  1. @echo off
  2. ipconfig/all|findstr /c:"Host Name"
  3. ipconfig/all|findstr /c:"IP Address"
  4. ipconfig/all|findstr /c:"Subnet Mask"
  5. ipconfig/all|findstr /c:"Default Gateway"
  6. ipconfig/all|findstr /c:"DNS Servers"
  7. pause
复制代码
发表于 2011-6-10 14:13:53 | 显示全部楼层
本帖最后由 dennisle 于 2011-6-13 08:03 编辑

  1. @ECHO OFF&Setlocal EnableDelayedExpansion
  2. FOR /F "tokens=1,2* delims==" %%A IN ('WMIC Path Win32_ComputerSystem Get Domain^,Name /Value 2^>Nul') DO (
  3.     IF /I "%%A"=="Domain" SET "Domain=%%B"
  4.     IF /I "%%A"=="Name" SET "Name=%%B"&ECHO.電腦名稱: !Name:~,-1!&ECHO.工作群組: !Domain:~,-1!
  5. )
  6. FOR /F "tokens=1,2* delims=={,}" %%A IN ('WMIC NICConfig WHERE "IPEnabled=TRUE" GET DefaultIPGateway^,Description^,DNSServerSearchOrder^,IPAddress^,IPSubnet /value 2^>Nul') DO (
  7.     IF /I "%%A"=="DefaultIPGateway" SET "Gateway=%%B"
  8.     IF /I "%%A"=="Description" SET "CardName=%%B"
  9.     IF /I "%%A"=="DNSServerSearchOrder" SET "DNS=%%B"
  10.     IF /I "%%A"=="IPAddress" SET "IP=%%B"
  11.     IF /I "%%A"=="IPSubnet" SET "Subnet=%%B"&ECHO.網卡名稱: !CardName:~,-1!&ECHO.IP  位址: !IP:~1,-1!&ECHO.網路遮罩: !Subnet:~1,-1!&ECHO.預設閘道: !Gateway:~1,-1!&ECHO.DNS 服務: !DNS:~1,-1!&ECHO.
  12. )
  13. ECHO.                            Press any key to exit...
  14. PAUSE >Nul
复制代码

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

 楼主| 发表于 2011-6-11 04:35:22 | 显示全部楼层
@echo off
ipconfig/all|findstr /c:"Host Name"
ipconfig/all|findstr /c:"IP Address"
ipconfig/all|findstr /c:"Subnet Mask"
ipconfig/all|findstr /c:"Default Gateway"
ipconfig/all|findstr /c:"DNS Ser ...
601997526 发表于 2011-6-10 12:52


这个可以解决问题。谢谢

还有个问题,如何加上 显示组名?
发表于 2011-6-11 09:39:00 | 显示全部楼层
5# ygqiang
  1. systeminfo
复制代码
 楼主| 发表于 2011-6-13 06:21:05 | 显示全部楼层
systeminfo

这个命令,好像没有显示工作组的方法?
发表于 2011-6-13 08:05:55 | 显示全部楼层
本帖最后由 dennisle 于 2011-6-13 08:09 编辑

7# ygqiang

樓主可能需要修改一下標題,
不妨試試4樓代碼!!
发表于 2011-6-13 11:27:21 | 显示全部楼层
7# ygqiang


我试了一下,有。
 楼主| 发表于 2011-6-13 13:07:22 | 显示全部楼层
7# ygqiang

樓主可能需要修改一下標題,
不妨試試4樓代碼!!
dennisle 发表于 2011-6-13 08:05



4楼代码不错。

修改如下:


  1. echo ------------修改后的结果:------------
  2. @ECHO OFF&Setlocal EnableDelayedExpansion
  3. FOR /F "tokens=1,2* delims==" %%A IN ('WMIC Path Win32_ComputerSystem Get Domain^,Name /Value 2^>Nul') DO (
  4.     IF /I "%%A"=="Domain" SET "Domain=%%B"
  5.     IF /I "%%A"=="Name" SET "Name=%%B"&ECHO.计算机名----: !Name:~,-1!&ECHO.工作组------: !Domain:~,-1!
  6. )
  7. FOR /F "tokens=1,2* delims=={,}" %%A IN ('WMIC NICConfig WHERE "IPEnabled=TRUE" GET DefaultIPGateway^,Description^,DNSServerSearchOrder^,IPAddress^,IPSubnet /value 2^>Nul') DO (
  8.     IF /I "%%A"=="DefaultIPGateway" SET "Gateway=%%B"
  9.     IF /I "%%A"=="Description" SET "CardName=%%B"
  10.     IF /I "%%A"=="DNSServerSearchOrder" SET "DNS=%%B"
  11.     IF /I "%%A"=="IPAddress" SET "IP=%%B"
  12.     IF /I "%%A"=="IPSubnet" SET "Subnet=%%B"&ECHO.IP地址------: !IP:~1,-1!&ECHO.子网掩码----: !Subnet:~1,-1!&ECHO.网关--------: !Gateway:~1,-1!&ECHO.DNS---------: !DNS:~1,-1!&ECHO.
  13. )
  14. ECHO.                            Press any key to exit...
  15. PAUSE >Nul

复制代码
 楼主| 发表于 2011-6-13 13:08:26 | 显示全部楼层
本帖最后由 ygqiang 于 2011-6-19 18:19 编辑

修改代码如下:

  1. @ECHO OFF

  2. set Addr=192.168.9
  3. set Mask=255.255.255.128
  4. set Gway=192.168.9.1
  5. set usergroup=admin


  6. netsh -C interface dump>home.txt

  7. NETDOM.exe MEMBER /JOINWORKGROUP %usergroup%



  8. set /p name=请输入计算机名:

  9. reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName" /v "ComputerName" /t reg_sz /d %name% /f >nul 2>nul
  10. reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ActiveComputerName" /v "ComputerName" /t reg_sz /d %name% /f >nul 2>nul

  11. reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters" /v "NV Hostname" /t reg_sz /d %name% /f >nul 2>nul
  12. reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters" /v "Hostname" /t reg_sz /d %name% /f >nul 2>nul


  13. reg add "HKLM\SYSTEM\ControlSet001\Control\ComputerName\ActiveComputerName" /v "ComputerName" /t REG_SZ /d "%name%" /f
  14. reg add "HKLM\SYSTEM\ControlSet001\Services\Tcpip\Parameters" /v "NV Hostname" /t REG_SZ /d "%name%" /f
  15. reg add "HKLM\SYSTEM\ControlSet001\Services\Tcpip\Parameters" /v "Hostname" /t REG_SZ /d "%name%" /f
  16. reg add "HKLM\SYSTEM\ControlSet002\Control\ComputerName\ComputerName" /v "ComputerName" /t REG_SZ /d "%name%" /f




  17. set/p slection1=请输入IP地址(只输最后1位):


  18. ::用ipconfig /all命令获取网卡名称。
  19. FOR /F "tokens=2*" %%i IN ('ipconfig/all^|find /i "Ethernet adapter "') DO set name=%%j
  20. ::用for命令删除网卡名称后面的冒号。
  21. FOR /F "tokens=1* delims=:" %%i in ("%name%") do set a=%%i

  22. netsh interface ip set address name="%a%" source=static addr="%Addr%.%slection1%" mask=%Mask% gateway=%Gway% gwmetric=1 >nul 2>nul


  23. netsh interface ip delete dns "%a%" all >nul 2>nul


  24. ipconfig /flushdns >nul 2>nul



  25. echo ------------修改后的结果:------------
  26. @ECHO OFF&Setlocal EnableDelayedExpansion
  27. FOR /F "tokens=1,2* delims==" %%A IN ('WMIC Path Win32_ComputerSystem Get Domain^,Name /Value 2^>Nul') DO (
  28.     IF /I "%%A"=="Domain" SET "Domain=%%B"
  29.     IF /I "%%A"=="Name" SET "Name=%%B"&ECHO.计算机名----: !Name:~,-1!&ECHO.工作组------: !Domain:~,-1!
  30. )
  31. FOR /F "tokens=1,2* delims=={,}" %%A IN ('WMIC NICConfig WHERE "IPEnabled=TRUE" GET DefaultIPGateway^,Description^,DNSServerSearchOrder^,IPAddress^,IPSubnet /value 2^>Nul') DO (
  32.     IF /I "%%A"=="DefaultIPGateway" SET "Gateway=%%B"
  33.     IF /I "%%A"=="Description" SET "CardName=%%B"
  34.     IF /I "%%A"=="DNSServerSearchOrder" SET "DNS=%%B"
  35.     IF /I "%%A"=="IPAddress" SET "IP=%%B"
  36.     IF /I "%%A"=="IPSubnet" SET "Subnet=%%B"&ECHO.IP地址------: !IP:~1,-1!&ECHO.子网掩码----: !Subnet:~1,-1!&ECHO.网关--------: !Gateway:~1,-1!&ECHO.
  37. )
  38. ECHO.                            Press any key to exit...
  39. PAUSE >Nul

  40. exit
复制代码
这个代码,遇到2个问题。

1、虽然计算机名已经修改成功,但显示“修改后的结果”的时候,显示的还是旧的计算机名。
这个如何通过批处理刷新下系统?或者刷新下注册表?来显示正确的?
2、“修改后的结果”显示的时候,DNS只显示1个,如何让2个DNS同时显示出来?
 楼主| 发表于 2011-6-19 18:20:39 | 显示全部楼层
出现2个小问题,顶一下...
 楼主| 发表于 2011-6-20 17:43:44 | 显示全部楼层
各位帮忙解决下啊?谢谢
发表于 2011-6-20 18:30:11 | 显示全部楼层
计算机名修改与全局环境更新一样
都需要向窗口进程发送系统配置更新消息
我尚未看到完全的解决解决方案

目前最好的方案大概还是直接重启吧
 楼主| 发表于 2011-6-20 23:19:47 | 显示全部楼层
多谢楼上。

DNS如何将2个都显示在屏幕上呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 14:07 , Processed in 0.024215 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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