我正在尝试删除我制作的批处理文件中的一些注册表项。
我在这里找到了以下代码,它运行良好,直到它击中 REG DELETE
for /F "tokens=1,*" %%a in ('REG QUERY "%KEY%" ^| findstr /I /C:"%VALUE%"') do (REG DELETE %KEY% /v %%a)
该值位于 [HK_CLASSES_ROOT\Installer\Assemblies\Global] 下
正如您可能看到的,这里的大多数值都带有引号,例如:
ADODB,fileVersion="7.10.2346.0",version="7.0.3300.00",culture="neutral",publicKeyToken="B03F5F7F11D50A3A"
这并不完全是我想要删除的内容,但它非常接近。
因此,如果我 echo %%a ,它会显示注册表中的值名称,并带有引号和所有内容。
但是一旦它通过 REG DELETE(现在它要求确认),引号就不存在了,所以如果我点击“是”,它会告诉我它找不到密钥。
显然它不能,因为它没有解析最初发现的相同内容。我一直在努力寻找解决方案,但到目前为止我还没有找到任何可以帮助我朝正确方向发展的东西。我知道我可能可以在 vbs 中做同样的事情,但是这是一行很长的代码,而在 vbs 中做同样的工作会花费更长的时间。
感谢任何帮助,如果您需要更多信息,请询问,我刚刚开始摆弄批处理文件。我之所以这样做是因为每次我在学校工作时,我都需要自动化学校项目所有依赖项的安装过程。(计算机被幽灵化了)
Thanks