[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[注册表类] [已解决批处理怎样查找注册表中不固定的键值并删除其键?

有个问题一直困扰我,还请各位高手出手相助。非常感谢
有这样的一个键值如下:
我想把其键删除,
其中的D131EDD8是不固定的,各系统的值都不同。请各位高手能否用批处理删掉这个键,谢谢
附一位网友的批处理,可一直报错:“错误:系统找不到指定的注册表项或值”
  1. >1.reg echo Windows Registry Editor Version 5.00
  2. >>1.reg echo.
  3. for /f "tokens=2 delims={}" %%i in ('reg query "HKEY_LOCAL_MACHINE\CLSID"^|find "A677-11d7-A773-00C04F68F44E"') do echo [-HKEY_LOCAL_MACHINE\CLSID\{%%i}]>>1.reg
  4. regedit /s 1.reg
  5. del 1.reg
  6. pause
复制代码
  1. [HKEY_CLASSES_ROOT\CLSID\{D131EDD8-A677-11d7-A773-00C04F68F44E}]
  2. @="Vegas Pro 10.0 Kernel"
  3. "Merit"=dword:7ab7c1d9
  4. [HKEY_CLASSES_ROOT\CLSID\{D131EDD8-A677-11d7-A773-00C04F68F44E}\InProcServer32]
  5. @="SONY CLSID"
  6. "ThreadingModel"="Both"
  7. [HKEY_CLASSES_ROOT\CLSID\{D131EDD8-A677-11d7-A773-00C04F68F44E}\Pins]
  8. [HKEY_CLASSES_ROOT\CLSID\{D131EDD8-A677-11d7-A773-00C04F68F44E}\Pins\Input]
  9. [HKEY_CLASSES_ROOT\CLSID\{D131EDD8-A677-11d7-A773-00C04F68F44E}\Pins\Input\Types]
  10. [HKEY_CLASSES_ROOT\CLSID\{D131EDD8-A677-11d7-A773-00C04F68F44E}\Pins\Input\Types\{10ed2d83-f16f-0348-2080-8c26b23e9a26}]
  11. "29"="{f5b19fe4-2a03-0126-5038-5d50f10e07d7}"
  12. "29C"=dword:90a6136e
  13. @=dword:00000001
  14. [HKEY_CLASSES_ROOT\CLSID\{D131EDD8-A677-11d7-A773-00C04F68F44E}\Pins\Input\Types\{97068c80-c90c-003a-e098-133100000000}]
  15. "0"=dword:000014d0
  16. "0C"=dword:23200917
  17. @=dword:00000002
  18. "44"=dword:000013d8
  19. "44C"=dword:e69421f8
  20. [HKEY_CLASSES_ROOT\CLSID\{D131EDD8-A677-11d7-A773-00C04F68F44E}\Pins\Input\Types\{c5fc7324-98a9-0138-93af-957000000040}]
  21. "1"=dword:ed99be20
  22. "1C"=dword:a5461fb0
  23. @=dword:00000002
  24. "0"=dword:000014d0
  25. "0C"=dword:23200917
  26. "44"=dword:000013d8
  27. "44C"=dword:e69421f8
  28. [HKEY_CLASSES_ROOT\CLSID\{D131EDD8-A677-11d7-A773-00C04F68F44E}\Pins\Input\Types\{e73be17c-8a0d-0125-d7a4-f683f5191a01}]
  29. "5"=dword:00000094
  30. "5C"=dword:3756c67d
  31. @=dword:00000002
  32. "10"="{3B78608F-D09A-11DF-A54E-0013D3D69929}"
  33. "10C"=dword:638df62a
  34. "8"=dword:00000001
  35. "8C"=dword:bdc8d7eb
  36. [HKEY_CLASSES_ROOT\CLSID\{D131EDD8-A677-11d7-A773-00C04F68F44E}\Pins\Input\Types\{f5b19fe4-2a03-0126-5038-5d50000000c0}]
  37. "0"=dword:000014d0
  38. "0C"=dword:23200917
  39. @=dword:00000001
  40. "44"=dword:000013d8
  41. "44C"=dword:e69421f8
  42. [HKEY_CLASSES_ROOT\CLSID\{D131EDD8-A677-11d7-A773-00C04F68F44E}\Pins\Output]
复制代码


[ 本帖最后由 huoyuan 于 2010-12-5 16:30 编辑 ]
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

原帖由 hanyeguxing 于 2010-12-5 16:19 发表
@echo off
for /f %%a in ('reg query "HKCR\CLSID"^|find /i "-A677-11d7-A773-00C04F68F44E}"') do for /f "skip=4 tokens=2*" %%b in ('reg query "%%a" /ve') do if /i "%%c"=="Vegas Pro 10.0 Kernel" reg del ...

非常感激楼上这位老师的回复,让我一个多月来郁闷的问题得以解决。

TOP

  1. @echo off
  2. for /f %%a in ('reg query "HKCR\CLSID"^|find /i "-A677-11d7-A773-00C04F68F44E}"') do for /f "skip=4 tokens=2*" %%b in ('reg query "%%a" /ve') do if /i "%%c"=="Vegas Pro 10.0 Kernel" reg delete "%%a" /ve /f
复制代码
1

评分人数

寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

原帖由 hanyeguxing 于 2010-12-5 13:33 发表
楼主到底要删除什么?
1,HKCR\CLSID\{D131EDD8-A677-11d7-A773-00C04F68F44E}下所有的内容?
@echo off
for /f %%a in ('reg query "HKCR\CLSID"^|find /i "-A677-11d7-A773-00C04F68F44E}"') do reg delete "%% ...

很谢谢这位老师耐心的解答
  1. @echo off
  2. for /f %%a in ('reg query "HKCR\CLSID"^|find /i "-A677-11d7-A773-00C04F68F44E}"') do for /f "skip=4 delims=" %%b in ('reg query "%%a" /ve') do if "%%b"=="Vegas Pro 10.0 Kernel" reg delete "%%a" /ve /f 2>nul
复制代码
不知是那里有问题,注册表里这个键一直删除不了

TOP

楼主到底要删除什么?
1,HKCR\CLSID\{D131EDD8-A677-11d7-A773-00C04F68F44E}下所有的内容?
  1. @echo off
  2. for /f %%a in ('reg query "HKCR\CLSID"^|find /i "-A677-11d7-A773-00C04F68F44E}"') do reg delete "%%a" /f
复制代码
1,如果要删除HKCR\CLSID\{D131EDD8-A677-11d7-A773-00C04F68F44E}下的@="Vegas Pro 10.0 Kernel这个项键?
  1. @echo off
  2. for /f %%a in ('reg query "HKCR\CLSID"^|find /i "-A677-11d7-A773-00C04F68F44E}"') do reg delete "%%a" /ve /f
复制代码
3,查询HKCR\CLSID\{D131EDD8-A677-11d7-A773-00C04F68F44E}下的@="Vegas Pro 10.0 Kernel,如果有删除@="Vegas Pro 10.0 Kernel?
  1. @echo off
  2. for /f %%a in ('reg query "HKCR\CLSID"^|find /i "-A677-11d7-A773-00C04F68F44E}"') do for /f "skip=4 tokens=2*" %%b in ('reg query "%%a" /ve') do if /i "%%c"=="Vegas Pro 10.0 Kernel" echo reg delete "%%a" /ve /f
复制代码
4,查询HKCR\CLSID\{D131EDD8-A677-11d7-A773-00C04F68F44E}下的@="Vegas Pro 10.0 Kernel,如果有删除整个项?
  1. @echo off
  2. for /f %%a in ('reg query "HKCR\CLSID"^|find /i "-A677-11d7-A773-00C04F68F44E}"') do for /f "skip=4 tokens=2*" %%b in ('reg query "%%a" /ve') do if /i "%%c"=="Vegas Pro 10.0 Kernel" echo reg delete "%%a" /f
复制代码

[ 本帖最后由 hanyeguxing 于 2010-12-5 16:45 编辑 ]
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

回复 7楼 的帖子

谢谢回复!我是想要删除带用@="Vegas Pro 10.0 Kernel这个项键的[HKEY_CLASSES_ROOT\CLSID\{D131EDD8-A677-11d7-A773-00C04F68F44E}]

TOP

如果要删除[HKEY_CLASSES_ROOT\CLSID\{D131EDD8-A677-11d7-A773-00C04F68F44E}]
下的@="Vegas Pro 10.0 Kernel",则只需在2楼的代码里使用/ve就可以,例如:
  1. @echo off
  2. for /f %%a in ('reg query "HKCR\CLSID"^|find /i "-A677-11d7-A773-00C04F68F44E}"') do reg delete "%%a" /ve /f
复制代码

[ 本帖最后由 hanyeguxing 于 2010-12-5 13:45 编辑 ]
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

回复 5楼 的帖子

可以删除之前把主键名搞错了,现在就是有很多相同的键我要选择[HKEY_CLASSES_ROOT\CLSID\{D131EDD8-A677-11d7-A773-00C04F68F44E}]
@="Vegas Pro 10.0 Kernel"
删除,谢谢您的回复。还请老师您多多指教

TOP

回复 4楼 的帖子

难道2、3楼的代码还能删除HKLM、HKCU下的这些CLSID?
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

非常感谢各位的回复可以实现,现在又出现了一个问题。就是注册表中有很多相同的键名,我只需要删除这样一个键怎么办
  1. [HKEY_CLASSES_ROOT\CLSID\{D131EDD8-A677-11d7-A773-00C04F68F44E}]
  2. @="Vegas Pro 10.0 Kernel"
  3. "Merit"=dword:7ab7c1d9
  4. [HKEY_CLASSES_ROOT\CLSID\{D131EDD8-A677-11d7-A773-00C04F68F44E}\InProcServer32]
  5. @="SONY CLSID"
  6. "ThreadingModel"="Both"
  7. [HKEY_CLASSES_ROOT\CLSID\{D131EDD8-A677-11d7-A773-00C04F68F44E}\Pins]
  8. [HKEY_CLASSES_ROOT\CLSID\{D131EDD8-A677-11d7-A773-00C04F68F44E}\Pins\Input]
  9. [HKEY_CLASSES_ROOT\CLSID\{D131EDD8-A677-11d7-A773-00C04F68F44E}\Pins\Input\Types]
  10. [HKEY_CLASSES_ROOT\CLSID\{D131EDD8-A677-11d7-A773-00C04F68F44E}\Pins\Input\Types\{10ed2d83-f16f-0348-2080-8c26b23e9a26}]
  11. "29"="{f5b19fe4-2a03-0126-5038-5d50f10e07d7}"
  12. "29C"=dword:90a6136e
  13. @=dword:00000001
  14. [HKEY_CLASSES_ROOT\CLSID\{D131EDD8-A677-11d7-A773-00C04F68F44E}\Pins\Input\Types\{97068c80-c90c-003a-e098-133100000000}]
  15. "0"=dword:000014d0
  16. "0C"=dword:23200917
  17. @=dword:00000002
  18. "44"=dword:000013d8
  19. "44C"=dword:e69421f8
  20. [HKEY_CLASSES_ROOT\CLSID\{D131EDD8-A677-11d7-A773-00C04F68F44E}\Pins\Input\Types\{c5fc7324-98a9-0138-93af-957000000040}]
  21. "1"=dword:ed99be20
  22. "1C"=dword:a5461fb0
  23. @=dword:00000002
  24. "0"=dword:000014d0
  25. "0C"=dword:23200917
  26. "44"=dword:000013d8
  27. "44C"=dword:e69421f8
  28. [HKEY_CLASSES_ROOT\CLSID\{D131EDD8-A677-11d7-A773-00C04F68F44E}\Pins\Input\Types\{e73be17c-8a0d-0125-d7a4-f683f5191a01}]
  29. "5"=dword:00000094
  30. "5C"=dword:3756c67d
  31. @=dword:00000002
  32. "10"="{3B78608F-D09A-11DF-A54E-0013D3D69929}"
  33. "10C"=dword:638df62a
  34. "8"=dword:00000001
  35. "8C"=dword:bdc8d7eb
  36. [HKEY_CLASSES_ROOT\CLSID\{D131EDD8-A677-11d7-A773-00C04F68F44E}\Pins\Input\Types\{f5b19fe4-2a03-0126-5038-5d50000000c0}]
  37. "0"=dword:000014d0
  38. "0C"=dword:23200917
  39. @=dword:00000001
  40. "44"=dword:000013d8
  41. "44C"=dword:e69421f8
  42. [HKEY_CLASSES_ROOT\CLSID\{D131EDD8-A677-11d7-A773-00C04F68F44E}\Pins\Output]
复制代码

TOP

  1. >1.reg echo Windows Registry Editor Version 5.00
  2. >>1.reg echo.
  3. echo off
  4. for /f "tokens=2 delims={}" %%i in ('reg query "HKEY_CLASSES_ROOT\CLSID"') do echo %%i>>1.txt
  5. for /f "delims=" %%j in ('type 1.txt ^| find "A677-11d7-A773-00C04F68F44E"') do (echo [-HKEY_CLASSES_ROOT\CLSID\{%%j}]>>1.reg)
  6. regedit /s 1.reg
  7. del 1.reg
  8. del 1.txt
  9. pause
复制代码

TOP

报错是因为你把根键名打错了。
  1. @echo off
  2. for /f "skip=4 delims=        " %%a in ('reg query "HKCR\CLSID"^|find /i "-A677-11d7-A773-00C04F68F44E}"') do reg delete "%%a" /f
复制代码
说明:"skip=4 delims=        "中delims=后为一个tab制表符,而不是空格!~

[ 本帖最后由 hanyeguxing 于 2010-12-5 11:20 编辑 ]
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

返回列表