关于批处理中注册表的一些问题

来源:百度知道 编辑:UC知道 时间:2024/06/02 00:59:48
1.在批处理中使用WshShell.RegWrite和RegistrySet为什么不能修改注册表,提示不是内部命令也不是外部命令;
2.最后我只有使用reg add来完成写入注册表,虽然成功了!但是:

set PwdPath=%~dp0
Reg ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v 123 /t REG_SZ /d %%PwdPath%%
第一行,这个命令获取了当前文件的路径,并且把路径赋值给了PwdPath,然后我想做的是,使用reg add命令在注册表中新建一个名为123的字符串数据,然后我想把 PwdPath 的值赋值给123这个字符串数据,使用这种方法不行
请问,如何才能把我前面获取存放在 PwdPath 路径的数据赋值写入注册表的123当中?
另外,如果是你说直接把路径直接在reg add语句中写入注册表,那就没意思了,因为这两个语句就是要对于任意当前文件的路径都能自动写入注册表中。我不能手动写入!

谢谢各位!要对xp系统有效。

1.这两个命令是VBS的与CMD没什么关系。到微软的SCRIPT CENTER其中有大量VBS脚本。

2.可以作如下修改:

set "PwdPath=%~dp0"
Reg ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v 123 /t REG_SZ /d %PwdPath%

使用两个%%一般是在变量延迟时使用,代码中并未使用到变量延迟。 加引号防止含空格路径。尽量在英文路径中执行否则会出错。

第二个问题:
应该是多写了%
现在试下看看!
set PwdPath=%~dp0
Reg ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v 123 /t REG_SZ /d %PwdPath% /f