无忧启动论坛

标题: reg delete删除子项 [打印本页]

作者: freesoft00    时间: 2022-11-18 14:03
标题: reg delete删除子项
  1. Windows Registry Editor Version 5.00

  2. [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ICM]

  3. [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ICM\Calibration]
  4. "CalibrationManagementEnabled"=dword:00000000
  5. "DisplayCalibrator"="%SystemRoot%\\System32\\DCCW.exe"

  6. [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ICM\RegisteredProfiles]
  7. "camp"="D65.camp"
  8. "ri"=dword:00000000
  9. "riac"="MediaSim.gmmp"
  10. "rip"="Photo.gmmp"
  11. "rirc"="Proofing.gmmp"
  12. "ris"="Graphics.gmmp"
复制代码
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ICM路径下面的注册表有很多子项,名称不固定
是不是需要reg query先查询出来这些项,然后再reg delete删除,需要用到for循环是吗

具体应该如何编写

作者: sunsea    时间: 2022-11-18 14:21
本帖最后由 sunsea 于 2022-11-18 14:23 编辑

准备两个文件,第一个文件这样:
  1. Windows Registry Editor Version 5.00

  2. [-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ICM]
复制代码

以UTF16 LE编码保存,先导入这个,再
  1. Windows Registry Editor Version 5.00

  2. [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ICM\Calibration]
  3. "CalibrationManagementEnabled"=dword:00000000
  4. "DisplayCalibrator"="%SystemRoot%\\System32\\DCCW.exe"

  5. ……
复制代码

试试?还是你有保留某些项的需求?
作者: 527104427    时间: 2022-11-18 14:27
考虑用pecmd的话,如下:

envi^ envimode=1
envi^ forcelocal=1
set a=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ICM
regi --init --ak b=%a%\,c
forx *nl c,d,regi %a%\%d%!
mess  完成



手机敲的代码,没测试







作者: freesoft00    时间: 2022-11-18 14:28
sunsea 发表于 2022-11-18 14:21
准备两个文件,第一个文件这样:

以UTF16 LE编码保存,先导入这个,再

那道没有必须保留的需要。
因为是非本机,所以下面的内容是不固定的,这样保存2个文件只能本机适合。

作者: freesoft00    时间: 2022-11-18 14:29
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ICM\Calibration]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ICM\RegisteredProfiles]
这些都需要删除的,删除后这些项下面的键值也就都删除了
作者: freesoft00    时间: 2022-11-18 14:31
527104427 发表于 2022-11-18 14:27
考虑用pecmd的话,如下:

envi^ envimode=1

和上面sunsea兄弟说的情况类似,因为是非本机操作,所以不见的有pecmd。
如果能纯批处理嘴还了。
作者: sunsea    时间: 2022-11-18 14:33
freesoft00 发表于 2022-11-18 14:29
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ICM\Calibration]
[HKEY_LOCAL_MACHI ...

那就直接
  1. Windows Registry Editor Version 5.00

  2. [-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ICM\Calibration]

  3. [-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ICM\RegisteredProfiles]
复制代码
即可。然后之后再干什么就随你了。不希望出现文件的话可以用批处理生成这几行的临时文件。
作者: freesoft00    时间: 2022-11-18 14:37
sunsea 发表于 2022-11-18 14:33
那就直接即可。然后之后再干什么就随你了。不希望出现文件的话可以用批处理生成这几行的临时文件。

红色的2个项是不固定的。也许是更多,上面只是举例列出了2个。名称和个数都不固定
作者: sunsea    时间: 2022-11-18 14:40
本帖最后由 sunsea 于 2022-11-18 14:42 编辑
freesoft00 发表于 2022-11-18 14:37
红色的2个项是不固定的。也许是更多,上面只是举例列出了2个。名称和个数都不固定

那就直接
  1. Windows Registry Editor Version 5.00

  2. [-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ICM]
复制代码
吧。

  1. reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ICM" /f
复制代码
应该也行。

你是需要保留HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ICM本身下面的键值但是删除HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ICM\*吗?我看了下我电脑(10.0.19045.2311)HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ICM本身没有键值,所以直接强删应该没有问题。
作者: freesoft00    时间: 2022-11-18 14:43
sunsea 发表于 2022-11-18 14:40
那就直接吧。

应该也行。

嗯,这样也行。

作者: holley2008    时间: 2022-11-18 18:38
批处理删除先导出一下,再直接一点 没必要for了
作者: 826773297    时间: 2022-11-18 20:19
sunsea 发表于 2022-11-18 14:40
那就直接吧。

应该也行。

就是这样,不用搞这么复杂
作者: Cosplay    时间: 2022-11-19 00:00
谢谢分享   
作者: abcd66099    时间: 2022-11-19 07:29
谢谢分享   
作者: nowayer    时间: 2023-12-1 16:48
提示: 作者被禁止或删除 内容自动屏蔽
作者: yyz2191958    时间: 2023-12-2 08:45
进来学习




欢迎光临 无忧启动论坛 (http://wuyou.net/) Powered by Discuz! X3.3