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

[系统相关] [已解决]关于BAT设置网卡IP地址的程序修改求助

本帖最后由 jsr 于 2012-10-20 15:44 编辑

如何修改这个BAT程序,达到这样的要求:
1、兼容WinXP和Win7。
2、程序通过MAC.txt与本机网卡(可能是多个中的一个)进行对比,如果MAC.txt中存在其MAC地址,则按MAC.txt中的参数(包括变量mask、gateway、DNS1、DNS2)对这个网卡进行设置——即在运行本程序的电脑上,只对MAC地址符合MAC.txt要求的才进行设置,而且是只设置符合要求的那个网卡,这个网卡可能是有线网卡,也可能是无线网卡。
3、计算机名可以不用设置。

目前本程序只能在WinXP上有唯一网卡的电脑成功运行,无法实现上面的要求。高手帮忙改一下吧!

=======静态IP分配程序.bat=========
  1. @echo off
  2. echo PC1 192.168.1.3 00-24-1d-d5-19-00>MAC.txt
  3. echo PC2 192.168.1.4 94-db-c9-44-5b-ff>>MAC.txt
  4. echo PC3 192.168.1.5 90-e6-ba-7c-6b-49>>MAC.txt
  5. echo PC4 192.168.1.6 00-e0-4c-06-2a-fc>>MAC.txt
  6. echo PC5 192.168.1.7 00-01-6c-ee-c2-99>>MAC.txt
  7. echo PC6 192.168.1.8 00-e0-a0-1a-25-e9>>MAC.txt
  8. //还有更多个网卡参数,这里不一一列举!
  9. color 0a
  10. setlocal EnableDelayedExpansion
  11. set mask=255.255.255.0
  12. set gateway=192.168.1.1
  13. set DNS1=202.103.225.68
  14. set DNS2=202.103.224.68
  15. for /f "tokens=2 delims=:" %%M in ('ipconfig /all^|find /i "Physical Address"') do set Mac=%%M
  16. if "%Mac%"=="" goto err_mac
  17. set PCMac=%MAC:~1%
  18. for /f "tokens=1" %%a in ('type MAC.txt^|find /i "%PCMac%"') do (set pcname=%%a)
  19. if "%pcname%"=="" goto err
  20. for /f "tokens=2" %%b in ('type MAC.txt^|find /i "%PCMac%"') do (set myip=%%b)
  21. if "%myip%"=="" goto err
  22. echo 
  23. echo.
  24. echo.
  25. echo.
  26. echo                     ╭─────────────────╮
  27. echo       ╭──────┤        IP分配程序初始参数        ├──────╮
  28. echo       │            ╰─────────────────╯            │
  29. echo       │                                                              │
  30. echo       │      请您检查正确后按y键并回车开始执行IP分配任务!           │
  31. echo       │                                                              │
  32. echo       ╰───────────────────────────────╯
  33. echo.
  34. echo               本机 MAC 地址:     %Mac%
  35. echo               指定的计算机名:    %pcname%
  36. echo               分配的 IP 地址:    %myip%
  37. echo               指定的子网掩码:    %mask%
  38. echo               本校统一网关:      %gateway%
  39. echo               指定的 DNS1:       %DNS1%
  40. echo               指定的 DNS2:       %DNS2%
  41. echo.
  42. echo.
  43. echo.
  44. set /p J=   是否继续IP分配任务?(请输入y或n,然后敲回车键确认)   
  45. if %J% == y goto setup
  46. if %J% == n goto quit
  47. echo.
  48. echo.
  49. echo.
  50. goto quit
  51. :setup
  52. cls
  53. echo 
  54. echo.
  55. echo.
  56. echo.
  57. echo.
  58. echo               修改计算机器名进行中...
  59. reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam" /v @ /t REG_SZ /d "%pcname%" /f
  60. reg add "HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName" /v "ComputerName" /t REG_SZ /d "%pcname%" /f
  61. reg add "HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ActiveComputerName" /v "ComputerName" /t REG_SZ /d "%pcname%" /f
  62. reg add "HKLM\SYSTEM\CurrentControlSet\Services\Eventlog" /v "ComputerName" /t REG_SZ /d "%pcname%" /f
  63. reg add "HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName" /v "ComputerName" /t REG_SZ /d "%pcname%" /f
  64. reg add "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /v "NV Hostname" /t REG_SZ /d "%pcname%" /f
  65. reg add "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /v "Hostname" /t REG_SZ /d "%pcname%" /f
  66. echo 
  67. echo.
  68. echo              开始设置网卡IP地址、掩码、网关、DNS...
  69. netsh interface ip set address name="本地连接" source=static addr=%myip% mask=%mask% gateway=%gateway% gwmetric=1
  70. netsh interface ip set dns name="本地连接" source=static addr=%DNS1%
  71. netsh interface ip add dns name="本地连接" addr=%DNS2% index=2
  72. @del /f /s /q "MAC.jx"
  73. cls
  74. echo 
  75. echo.
  76. echo.
  77. echo.
  78. echo                     ╭─────────────────╮
  79. echo       ╭──────┤          温  馨  提  示          ├──────╮
  80. echo       │            ╰─────────────────╯            │
  81. echo       │                                                              │
  82. echo       │                       IP分配任务完成!                       │
  83. echo       │                                                              │
  84. echo       ╰───────────────────────────────╯
  85. echo.
  86. echo.
  87. echo.
  88. echo.
  89. set /p Q=   是否需要重新启动计算机?(请输入y或n,然后敲回车键确认)   
  90. if %Q% == y goto reboot
  91. if %Q% == n goto quit
  92. echo.
  93. echo.
  94. echo.
  95. goto quit
  96. :reboot
  97. shutdown -r -t 1
  98. :err_mac
  99. @del /f /s /q "MAC.txt"
  100. cls
  101. ipconfig/all
  102. echo 
  103. echo 
  104. echo 
  105. echo.
  106. echo.
  107. echo                     ╭─────────────────╮
  108. echo       ╭──────┤          温  馨  提  示          ├──────╮
  109. echo       │            ╰─────────────────╯            │
  110. echo       │                                                              │
  111. echo       │      程序找不到您的网卡MAC地址!无法实现IP分配!             │
  112. echo       │                                                              │
  113. echo       │      您查看上面是否存在“Physical Address..."这一项,如果存  │
  114. echo       │                                                              │
  115. echo       │  在,请抄写其后面对应的字符串,报交网络管理员!如果不存在,  │
  116. echo       │                                                              │
  117. echo       │  可能的原因是您的电脑没有安装网卡驱动程序,或网卡损坏,或网  │
  118. echo       │                                                              │
  119. echo       │  卡接触不良等等。                                            │
  120. echo       │                                           网络管理中心       │
  121. echo       │                                                              │
  122. echo       ╰───────────────────────────────╯
  123. echo.
  124. echo.
  125. pause
  126. goto quit
  127. :err
  128. @del /f /s /q "MAC.txt"
  129. cls
  130. ipconfig/all
  131. echo 
  132. echo 
  133. echo 
  134. echo.
  135. echo.
  136. echo                     ╭─────────────────╮
  137. echo       ╭──────┤          温  馨  提  示          ├──────╮
  138. echo       │            ╰─────────────────╯            │
  139. echo       │                                                              │
  140. echo       │      程序找不到您的网卡MAC地址!无法实现IP分配!             │
  141. echo       │                                                              │
  142. echo       │      您查看上面是否存在“Physical Address..."这一项,如果存  │
  143. echo       │                                                              │
  144. echo       │  在,请抄写其后面对应的字符串,报交网络管理员!如果不存在,  │
  145. echo       │                                                              │
  146. echo       │  可能的原因是您的电脑没有安装网卡驱动程序,或网卡损坏,或网  │
  147. echo       │                                                              │
  148. echo       │  卡接触不良等等。                                            │
  149. echo       │                                           网络管理中心       │
  150. echo       │                                                              │
  151. echo       ╰───────────────────────────────╯
  152. echo.
  153. echo.
  154. pause
  155. goto quit
  156. :quit
  157. @del /f /s /q "MAC.txt"
  158. exit
  159. @ENDLOCAL 中止本地化操作
复制代码

只好草草收场,无助and无奈,设为[已解决]吧!!

自己摸索还是找到了一些解决的办法。。。。。。。。。。。。

TOP

各位达人帮忙啊    顶上

TOP

返回列表