之前写了一个bat改写注册表,今天拿来用的时候报错了。错误信息:“错误:命令行参数太多”
奇怪的是同样的写法有的机器可以,有的机器就报错。
bat写注册表的语句:
REG ADD HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\serverName\Parameters
REG ADD HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\serverName\Parameters /v Appdirectory /t REG_SZ /d %Dir%\ /f
REG ADD HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\serverName\Parameters /v Application /t REG_SZ /d %Dir%\start.exe /f
查了下资料,好多都说是因为存在空格,保险起见就是所有的都加上""
REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\serverName\Parameters"
REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\serverName\Parameters" /v "Appdirectory" /t "REG_SZ" /d "%Dir%\" /f
REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\serverName\Parameters" /v "Application" /t "REG_SZ" /d "%Dir%\start.exe" /f
最好的做法就是所有的都加上"",不会因为空格出问题。