标题: [注册表类] 求助批处理删除注册表键值 [打印本页]
作者: turing 时间: 2024-7-17 11:11 标题: 求助批处理删除注册表键值
- @echo off
-
- reg query "HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices" /s | findstr "#"
-
- echo.
- echo 您发现了以上带有'#'符号的值,是否要删除(Y/N)?
- set /p choice=
-
- if "%choice%"=="Y" (
- for /f "tokens=2*" %%a in ('reg query "HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices" /s ^| findstr "#"') do (
- reg delete "HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices" /v "%%a" /f
- )
- echo 已删除相关值
- ) else if "%choice%"=="N" (
- exit
- ) else (
- echo 您输入的选择无效,请重新运行脚本
- )
复制代码
我想删除HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices中所有带#号的键值,用批处理找到文件了但是怎么都删除不了。
如果执行单个删除是可以正常的- @echo off
- reg delete "HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices" /v "#{52c5a067-2e99-11ef-a6c9-38ca843ae262}" /f
- echo 已尝试删除指定的二进制数值
复制代码
请问大神,如何能检索到数值之后批量删除。
作者: ppll2030 时间: 2024-7-17 12:53
回复 1# turing
初略看一下,你的第10行tokens取值应该有误了。
findstr的结果应该有三段,你要用到的应该是第一段。
所以改为 tokens=1* 试试
作者: aloha20200628 时间: 2024-7-17 13:04
本帖最后由 aloha20200628 于 2024-7-17 13:05 编辑
回复 1# turing
要确认用
reg query "HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices" /s | findstr "#"
这个方法查询过滤的结果中是否每行只有一个形如 #{...} 的字段?前后是否还有其余数据?
最好粘贴几行代表性的样本看看就一目了然了...
作者: turing 时间: 2024-7-17 16:34
回复 2# ppll2030
感谢大神 可行 已经解决问题
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |