You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何删除匹配含空格字符串的多个注册表值?

删除含空格字符串的多个注册表值方法

你原来的代码只适用于无空格的注册表值,核心问题是for /f默认按空格分割字符串,导致带空格的键名被拆成了多个部分。看你给出的Reg Query输出,键名和后续内容是用逗号分隔的,所以我们可以把分隔符改成逗号,就能完整捕获带空格的键名。

修改后的代码如下:

For /f "delims=, tokens=1" %%k in ('Reg Query "HKLM\SOFTWARE\testkey" 2^>NUL ^| Find /i "0.3200.0"') do ECHO Reg Delete "HKLM\SOFTWARE\testkey" /v "%%k" /f

关键说明:

  • delims=,:指定逗号为分割符,这样%%k会获取逗号前的完整内容(包含空格)
  • tokens=1:只取分割后的第一部分,也就是完整的注册表值名称

运行时先通过ECHO预览要执行的删除命令,确认输出正确后,去掉ECHO即可实际执行删除操作。

针对你给出的Reg Query输出:

TestValueToRemoveWithoutSpaces,0.3200.0,es,b03f5f7f11d50a3a       REG_BINARY      F2243A58D787DA01
   Test Value To Remove With Spaces,0.3200.0,es,b03f5f7f11d50a3a       REG_BINARY      F2243A58D787DA01

修改后的代码会正确识别两个值名称:TestValueToRemoveWithoutSpaces和Test Value To Remove With Spaces,并生成对应的删除命令。

内容的提问来源于stack exchange,提问作者Mike0101

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 14:22:57