![Board logo](images/default/logo.gif)
标题: [网络连接] 批处理如何根据IP修改计算机名? [打印本页]
作者: youxi01 时间: 2008-6-17 23:22 标题: 批处理如何根据IP修改计算机名?
应一朋友要求,帮忙修改计算机名
具体要求:
根据IP最后的数字+H作为计算机名
如:该计算机IP为220.221.2.101
那么就将该计算机重命名为:H101
作者: xxymg 时间: 2008-6-17 23:27
在看.......沙发
作者: lovelymorning 时间: 2008-6-18 04:08
- @echo off
- for /f "tokens=15" %%i in ('ipconfig /all^|find "IP Address"') do set name=%%i
- set name=H%name:~-3%
- reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ActiveComputerName" /f /v ComputerName /t reg_sz /d "%name%"
- reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters" /v "NV Hostname" /f /t reg_sz /d "%name%"
- reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters" /f /v Hostname /t reg_sz /d "%name%"
- taskkill /im explorer.exe /f&start explorer.exe
- rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,1
复制代码
不好意思,因为在CMD下测试,最后忘了把for加多个百分号了,一个百分号的for在批处理中是错误的,加多一个就可以了
[ 本帖最后由 lovelymorning 于 2008-6-20 20:24 编辑 ]
作者: lianwangnanhai 时间: 2008-6-18 09:58 标题: 为什么直接运行,不起作用呢?
为什么我复制了以后直接运行不可以呢?
一句一句的来倒是行。
作者: batman 时间: 2008-6-18 12:04
- @echo off
- for /f "tokens=6 delims=.: " %%i in ('ipconfig /all^|findstr /c:"IP Address"') do set name=H%%i
- reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ActiveComputerName" /f /v ComputerName /t reg_sz /d "%name%"
- reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters" /v "NV Hostname" /f /t reg_sz /d "%name%"
- reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters" /f /v Hostname /t reg_sz /d "%name%"
- taskkill /im explorer.exe /f
- start "" "c:\windows\explorer.exe"
复制代码
作者: Batcher 时间: 2008-6-18 15:55
- @echo off
- for /f "tokens=6 delims=.: " %%i in ('ipconfig /all^|findstr /c:"IP Address"') do set newname=H%%i
- wmic computersystem where "name='%computername%'" call rename %newname%
- rem 重启计算机后生效
复制代码
作者: friendtasy 时间: 2009-12-10 21:32
试过此法更改机器名,有些软件如会计电算化会造成,运行服务器还是前次机器名导致不能创建帐套,感觉仅仅修改这三个键值不够全面,应该还要修改几个键值才全面。
[ 本帖最后由 friendtasy 于 2009-12-10 21:34 编辑 ]
作者: rzacx 时间: 2011-2-7 21:50
问一下,我想最后两组数做计算机名呢
根据IP最后两组数字+H作为计算机名
如:该计算机IP为220.221.11.101
那么就将该计算机重命名为:H11101
作者: CrLf 时间: 2011-2-7 23:34
回八楼,那不是一个道理的么?
另外个人感觉ipconfig存在不同版本cmd返回值各异的兼容性问题,不如wmic保险- @echo off
- for /f "skip=1 tokens=3,4 delims=.}" %%i in (
- 'wmic nicconfig where FullDNSRegistrationEnabled^="true" get ipaddress') do (
- wmic computersystem where "name='%computername%'" call rename "H%%i%%j
- )
- rem 重启计算机后生效
复制代码
作者: rzacx 时间: 2011-2-8 00:59
我是想要免重启立即生效的那种
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |