Board logo

标题: [文本处理] 批处理如何正确导出修改后的电脑名? [打印本页]

作者: cocn2002    时间: 2015-3-31 15:09     标题: 批处理如何正确导出修改后的电脑名?

先修改计算机名:
  1. @echo off
  2. color 1a
  3. set name=:pcl
  4. reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ActiveComputerName" /v ComputerName /t reg_sz /d %name% /f
  5. reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters" /v "NV Hostname" /t reg_sz /d %name% /f
  6. reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters" /v Hostname /t reg_sz /d %name% /f
复制代码
再用批处理导出computername却不是修改后的电脑名,而是之前电脑名,求解
作者: pcl_test    时间: 2015-3-31 15:18

回复 1# cocn2002
是这样导出的吗?
echo %computername%
作者: ygqiang    时间: 2015-3-31 15:46

回复 1# cocn2002


    重启系统。然后再导出来?
作者: CrLf    时间: 2015-3-31 15:51

刚修改时,环境变量还未更新,不要说 cmd.exe,连 explorer.exe 的 %computername% 都是旧的
解决方法如 3 楼所说,重启
作者: cocn2002    时间: 2015-3-31 16:48

重启前后都可以在计算机属性里看到新改好的计算机名,但重启后在dxdiag里看到的还是旧电脑名......
这里为什么信息不变的?系统是win7  X86
作者: DAIC    时间: 2015-3-31 16:53

  1. wmic computersystem where "name='%computername%'" call rename BatHome
复制代码
这样修改重启之后可以生效吗?
作者: cocn2002    时间: 2015-3-31 17:06

这样修改重启之后可以生效吗?
DAIC 发表于 2015-3-31 16:53



   
运行这个批处理后重启,的确可以正常显示计算机名了,dxdiag也能正常显示了,但还想请教下这个批处理和系统版本会有关系吗?
作者: pcl_test    时间: 2015-3-31 17:16

本帖最后由 pcl_test 于 2015-3-31 18:22 编辑

回复 7# cocn2002
试试这样,需重启
  1. reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam" /v @ /t REG_SZ /d "%name%" /f
  2. reg add "HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName" /v "ComputerName" /t REG_SZ /d "%name%" /f
  3. reg add "HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ActiveComputerName" /v "ComputerName" /t REG_SZ /d "%name%" /f
  4. reg add "HKLM\SYSTEM\CurrentControlSet\Services\Eventlog" /v "ComputerName" /t REG_SZ /d "%name%" /f
  5. reg add "HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName" /v "ComputerName" /t REG_SZ /d "%name%" /f
  6. reg add "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /v "NV Hostname" /t REG_SZ /d "%name%" /f
  7. reg add "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /v "Hostname" /t REG_SZ /d "%name%" /f
复制代码

作者: DAIC    时间: 2015-3-31 17:20

回复 7# cocn2002


    我没发现,你试试吧。
作者: cocn2002    时间: 2015-3-31 17:41

diac少将  我用了3个win系统   XP  WIN7 都可行,WIN8不吃这套了
PCL亲  回头我再试试您的方法

另:有好多大侠回复 太感谢了!!
作者: DAIC    时间: 2015-3-31 17:50

回复 10# cocn2002


    Win8的报错信息是什么
作者: cocn2002    时间: 2015-3-31 18:08

win8 没报错  没什么反应  就直接完成命令 但重启前后啥子都没变
ipconfig /all 里    计算机属性里   还有DXDIAG都一样是原来的电脑名
作者: yiwuyun    时间: 2015-3-31 19:13

  1. if ($true){}# == ($true){}# goto ___yiwuyun
  2. <#BeginBatOperation#
  3. :___yiwuyun
  4. @echo off&setlocal&cls
  5. (echo $strPath="%~dp0"&type "%~f0")|powershell -command -
  6. pause
  7. exit/b 0
  8. #EndBatOperation#>
  9. <#StartPowerShell#>
  10. (Get-WmiObject -Class Win32_ComputerSystem).name="pc1"
  11. <#EndPowerShell#>
复制代码
试试




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2