[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[注册表类] 批处理修改IP地址、子网掩码、网关、首选DNS和备用DNS

dos下添加和修改TCP/IP设置
其他版发不了贴,只能来这里啦。
帮一个网友解决了一个问题,我是新手,这个对于大佬们肯定很简单,但还是和大家分享一下,有更好的方法大家可以参与讨论,相互学习。
昨天收到一个asker的需求,他有一个机房100多台电脑,希望有一个批处理能完成批量修改ip地址。
如图:修改192.168.0.2  255.255.255.0 ,保持49.168.217.22  255.255.255.0不变,并且能修改网关、子网掩码、首选dns、备用dns

他原来的方案是用的这种方式来进行的,但是出现会把第二个ip冲掉(即:49.168.217.22  255.255.255.0会消失了)
  1. set address name="本地连接" source=static addr=10.50.202.50 mask=255.255.255.0  
  2. set address name="本地连接" gateway=10.50.202.1 gwmetric=0  
  3. set dns name="本地连接" source=static addr=208.67.222.222 register=PRIMARY  
  4. add dns name="本地连接" addr=202.106.195.68 index=2  
  5. set wins name="本地连接" source=static addr=none
复制代码
后来想了一下给出了一个方法,通过修改注册表来完成的,已经满足了他的需要。(不同电脑  {00DCEBC1-2DB0-4FCA-A9FD-64BF407A7132}这项可能不同)
  1. @echo off  
  2.   
  3. ::2013-09-12  wangx
  4.   
  5. ::根据需要来改  
  6. set Addr=192.168.0.16  
  7. set Mask=255.255.255.0  
  8. set Gway=192.168.0.1  
  9. set Dns1=61.134.1.4  
  10. set Dns2=218.30.19.40  
  11.   
  12. ::以上依次为IP地址、子网掩码、网关、首选DNS、备用DNS  
  13. echo ------------设置进行中,请耐心等待------------  
  14. echo.&&echo.&&echo.  
  15. echo ////////////////////////////  
  16. echo 正在进行IP设置......  
  17. for /f "tokens=3" %%i in (  
  18. 'REG QUERY "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{00DCEBC1-2DB0-4FCA-A9FD-64BF407A7132}" /v "IPAddress"') do set ipKeyVal="%%i"  
  19. ::获取ip键值  
  20. for /f "delims=\ tokens=2" %%j in (%ipKeyVal%)  do set netIp=%%j  
  21. ::获取第二个ip值  
  22. set fixIp=%netIp:~1%  
  23. ::设置第一个ip值  
  24. reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{00DCEBC1-2DB0-4FCA-A9FD-64BF407A7132}" /v IPAddress /t REG_MULTI_SZ /d %Addr%"\0"%fixIp% /f  
  25. echo. && echo IP设置完成......  
  26. echo /////////////////////////////  
  27. echo 正在进行子网掩码设置......  
  28. ::设置子网掩码  
  29. reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{00DCEBC1-2DB0-4FCA-A9FD-64BF407A7132}" /v SubnetMask /t REG_MULTI_SZ /d %Mask%"\0"%Mask% /f  
  30. echo. && echo 子网掩码设置完成......  
  31. echo /////////////////////////////  
  32. echo 正在进行默认网关设置......  
  33. ::设置默认网关  
  34. reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{00DCEBC1-2DB0-4FCA-A9FD-64BF407A7132}" /v DefaultGateway /t REG_MULTI_SZ /d %Gway% /f  
  35. echo. && echo 默认网关设置完成......  
  36. echo ////////////////////////////  
  37. echo 正在进行首选DNS/备用DNS设置......  
  38. ::设置DNS  
  39. reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{00DCEBC1-2DB0-4FCA-A9FD-64BF407A7132}" /v NameServer /t REG_SZ /d %Dns1%","%Dns2% /f  
  40. echo. && echo DNS设置完成......  
  41. echo ////////////////////////////  
  42. echo.&&echo.&&echo.  
  43. echo ------------恭喜你,已完成设置------------  
  44. echo.&&echo.&&echo.  
  45. pause  
复制代码
其实方法挺笨拙的,大佬们有好的方法可以贴出让大家学习一下啊。
1

评分人数

返回列表