标题: [网络连接] 【已解决】批处理如何根据MAC地址设置IP,计算机名称找不到自动退出? [打印本页]
作者: zhong365 时间: 2013-8-2 16:44 标题: 【已解决】批处理如何根据MAC地址设置IP,计算机名称找不到自动退出?
本帖最后由 zhong365 于 2013-8-9 15:42 编辑
- @echo off
- echo 正在配置IP地址、DNS请稍候……
- set MASK=255.255.255.0
- set GATEWAY=202.202.203.30
- set DNS1=202.96.134.133
- set DNS2=202.96.128.86
- ::set WINS=202.202.203.30
- for /f "tokens=12 delims= " %%i in ('ipconfig /all^|find /i "Physical Address"') do set mac=%%i
- for /f "tokens=1,2*" %%i in ('ipconfig /all^|find "Ethernet adapter"') do set Ethernet=%%k
- for /f "tokens=1,2" %%i in ('more /e +21 %0 ^|find /i "%mac:~,-1%"') do set "name=%%i"&set "IP=%%j"
- for /f "tokens=4" %%j in ('more /e +21 %0 ^|find /i "%mac:~,-1%"') do set "p=%%j"
- reg add "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\lanmanserver\parameters" /v srvcomment /t reg_sz /d %p% /f >nul 2>nul
- reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters" /v srvcomment /t reg_sz /d %p% /f >nul 2>nul
- reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ComputerName" /v ComputerName /t reg_sz /d %name% /f >nul 2>nul
- reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters" /v "NV Hostname" /t reg_sz /d %name% /f >nul 2>nul
- reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters" /v Hostname /t reg_sz /d %name% /f >nul 2>nul
- netsh interface ip set address "%Ethernet:~,-2%" static %IP% %Mask% %GATEWAY% 1 >nul 2>nul
- netsh interface ip set dns "%Ethernet:~,-2%" static %DNS1% register=PRIMARY >nul 2>nul
- netsh interface ip add dns "%Ethernet:~,-2%" %DNS2% index=2 >nul 2>nul
- ::netsh interface ip set wins "%Ethernet:~,-2%" static %WINS% >nul 2>nul
- exit
- FWT1 202.202.203.13 00-19-85-E9-F0-11 服务台A13
- FWQ1 202.202.203.12 00-E5-4C-4F-1A-F0 服务器A12
- SYZ1 202.202.203.11 00-0B-2F-07-80-0A 收银组A11
- SHB1 202.202.203.10 00-17-32-B5-B5-9C 收货部A10
复制代码
上面的代码在XP的环境下可以根据MAC地址将事先设置好的 IP 计算机名称 写入电脑。
可是运行的计算机MAC 与 列表中不符的时候, 会一直卡在那里。
想加一个判断句,实现 找不到列表内MAC计算机时 提示并退出
作者: zhong365 时间: 2013-8-3 08:45
哎,,到现在都没人回答,自己先来一个
作者: apang 时间: 2013-8-3 17:22
11和12行之间插入一行:
if not defined name echo mac地址不在列表中&pause&goto :eof
10和11行 +21 改成 +22
作者: zhong365 时间: 2013-8-9 15:42
回复 3# apang
谢谢。。刚才试了一下可以用
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |