Board logo

标题: [系统相关] 为什么这个批处理运行不正确呢? [打印本页]

作者: luyou45    时间: 2013-4-16 03:26     标题: 为什么这个批处理运行不正确呢?

  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
复制代码
错误:命令行参数太多
大神看看怎么解决
作者: apang    时间: 2013-4-16 09:10

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

作者: 极品小猫    时间: 2013-4-16 10:54

回复 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
复制代码

作者: BAT-VBS    时间: 2013-4-16 13:15

回复 3# 极品小猫


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




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