找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 22741|回复: 3

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

[复制链接]
发表于 2013-4-16 03:26:55 | 显示全部楼层 |阅读模式
  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
复制代码
错误:命令行参数太多
大神看看怎么解决
发表于 2013-4-16 09:10:47 | 显示全部楼层
时间含空格。第3、4行之间插入一行:

  1. set Name=%Name: =0%
复制代码
发表于 2013-4-16 10:54:26 | 显示全部楼层
回复 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
复制代码
发表于 2013-4-16 13:15:02 | 显示全部楼层
回复 3# 极品小猫


    可能你的%date%和楼主的不一样
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 04:55 , Processed in 0.017220 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表