Board logo

标题: [求助]在批处理里删除注册表里的某个已知项或键值 [打印本页]

作者: flying008     时间: 2006-7-10 13:54    标题: [求助]在批处理里删除注册表里的某个已知项或键值

再次请教……偶想用批处理完成一系列操作,其中涉及到注册表,偶要先删除某个项里的字符串值或二进制值,不能影响其它的键值(就是说一个项可能有多个键值,不能把其它键值也删除了),请教如何实施……? 谢谢……
例如:
==================
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\ABC\Autocad2000\SupperExs]
"123"="abc"
"efg"="789"
"xyz"="456"
=========

1、偶只删除这里面的一个键值"123"="abc" ,怎么写批处理语句?
2、偶想删除\SupperExs这个项,又怎样实现?
作者: bagpipe     时间: 2006-7-10 14:46
echo Windows Registry Editor Version 5.00 >1.reg
echo.>>1.reg
echo [HKEY_CURRENT_USER\Software\ABC\Autocad2000\SupperExs] >>1.reg
echo "123"=- >>1.reg

regedit /s 1.reg

echo Windows Registry Editor Version 5.00 >2.reg
echo.>>2.reg
echo [-HKEY_CURRENT_USER\Software\ABC\Autocad2000\SupperExs] >>2.reg
regedit /s 2.reg

本人不建议用REG命令,还是导入的比较好
作者: flying008     时间: 2006-7-10 16:43
谢谢bagpipe,再请教……
echo Windows Registry Editor Version 5.00 >1.reg
echo.>>1.reg  这里echo后面有个小数点是代表空一行的意思吗?
echo [HKEY_CURRENT_USER\Software\ABC\Autocad2000\SupperExs] >>1.reg
echo "123"=- >>1.reg  偶是想删除“123”这个键,不只是删除“123”的键值的,这一句是否要改动?如何改?

regedit /s 1.reg  这个1.reg文件导入后在哪里?有没有保存在硬盘上?

echo Windows Registry Editor Version 5.00 >2.reg  这里1个“>”起什么作用?
echo.>>2.reg   为什么现在用2个“>”?
echo [-HKEY_CURRENT_USER\Software\ABC\Autocad2000\SupperExs] >>2.reg   这里也是用的2个>?
regedit /s 2.reg

1、regedit后面的是空格与确认参数S前是加“-”还是“/”?
2、偶想批处理运行时不显示提示和内容的,echo在这里是否……要加off???
3、偶也觉得导入操作性强些,但是如上3个问题(删除键,删除键值,删除项)的话,导入的注册表文件内容是怎样的?要知道,将注册表导入的话,如果它的键值没有系统系统本身的多,则不会删除缺少的那部分的,这样导入就没有作用了???


[ Last edited by flying008 on 2006-7-10 at 17:02 ]
作者: xuantian     时间: 2006-7-10 18:30
reg delete "HKCU\Software\ABC\Autocad2000\SupperExs" /v "123" /f
作者: flying008     时间: 2006-7-11 08:06
the commands of "reg" and "regedit" are good!
thank you, xuantian  and bagpipe!
作者: lxmxn     时间: 2006-11-7 11:57


  Quote:
本人不建议用REG命令,还是导入的比较好

  为什么?

  "reg" 命令很强的啊,几乎所有对注册表的操作都可以用 "reg" 命令来完成。