本帖最后由 lx427 于 2011-7-7 09:23 编辑
2# lxzzr
我觉得这种方法通用性有限,如果本地连接 是名称为 本地连接 2时,就找不到范例,我个人只有一个思路,就是先用ipconfig /all命令取得 以太网连接的名字- for /f "tokens=1,2*" %%i in ('ipconfig /all^|find "Ethernet adapter"') do set Ethernet=%%k
复制代码 然后再根据这个得出来的名称去查找得出MAC地址,由于本人批处理基本功很差,只有思路,代码写作能力差,肯请帮我完善一下。
我所用的批处理完整代码如下,这些代码是我在论坛东拼西凑搞出来的,有的意思我自己都不是很明白,但是可以实际我要的效果
根据MAC地址修改计算机名,IP地址,计算机注释,设置本地连接为自动获取IP地址。
后面依次是计算机名,IP,mac,计算机注释,中间用跳格键隔开。- @echo off
- 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 +13 %0 ^|find /i "%mac:~,-1%"') do set "name=%%i"
- for /f "tokens=4" %%j in ('more /e +13 %0 ^|find /i "%mac:~,-1%"') do set "p=%%j"
- 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
- 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
- netsh interface ip set address "%Ethernet:~,-2%" source=dhcp
- netsh interface ip set dns "%Ethernet:~,-2%" source=dhcp
- exit
- lxt 192.168.1.10 00-0b-2f-49-d6-65 梁晓婷
- lyf 192.168.1.11 00-e0-66-02-e8-86 刘扬凤
- lzx 192.168.1.12 00-e0-66-02-f5-4c 刘志仙
- lwt 192.168.1.13 00-e0-66-02-d6-e9 梁文婷
- print 192.168.1.14 00-e0-66-06-07-5d 打印机用
复制代码
|