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

[系统相关] 为什么这个批处理运行不正确呢?

  1. @echo off
  2. rem 以系统当前时间为计算机命名
  3. set Name=zcd%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%
  4. reg add "HKLM\system\CurrentControlSet\services\tcpip\parameters" /v "NV Hostname" /d %Name% /f
  5. reg add "HKLM\system\CurrentControlSet\services\tcpip\parameters" /v "Hostname" /d %Name% /f
  6. reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ActiveComputerName" /v "ComputerName" /d %Name% /f
  7. echo 机器名已修改,重启后生效
  8. pause
复制代码
错误:命令行参数太多
大神看看怎么解决

回复 3# 极品小猫


    可能你的%date%和楼主的不一样

TOP

回复 1# luyou45


    测试代码没问题
另外,在操作注册表时,/d 后的字符串或者变量最好添加双引号,避免空格引起提示参数过多
  1. @echo off
  2. rem 以系统当前时间为计算机命名
  3. set Name=zcd%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%
  4. reg add "HKLM\system\CurrentControlSet\services\tcpip\parameters" /v "NV Hostname" /d "%Name%" /f
  5. reg add "HKLM\system\CurrentControlSet\services\tcpip\parameters" /v "Hostname" /d "%Name%" /f
  6. reg add "HKLM\System\CurrentControlSet\Control\ComputerName\ActiveComputerName" /v "ComputerName" /d "%Name%" /f
  7. echo 机器名已修改,重启后生效
  8. pause
复制代码

TOP

时间含空格。第3、4行之间插入一行:
  1. set Name=%Name: =0%
复制代码

TOP

返回列表