java如何迭代所有注册表项?
我试图迭代所有注册表项以查找(包含)和删除jre1。5.0_14值。有办法吗
下面的代码只找到jre1。5.0_14在特定键下!我确实想迭代所有的键。顺便说一下,如果if子句等于jre1,它将得到。5.0_14,但如果它包含jre1,则应该是。5.0_14.
提前谢谢
致以最良好的祝愿
@echo off
setlocal
set KEY_NAME="HKEY_CURRENT_USER\Software\Microsoft\Notepad"
set VALUE_NAME=jre1.5.0_14
FOR /F "skip=2 tokens=3" %%A IN ('REG QUERY %KEY_NAME%') DO if "%%A"=="%VALUE_NAME%" (
@echo %%A
)
# 1 楼答案
我是根据你最后的评论发布的。您(可能)需要检查所有的键,并且您不希望在最后使用/d
如果您知道字符串位于特定的键中,请使用此键(我认为这是您最初的目标):
使用以下命令查看所有键。它在每个键上运行查询,如果在输出中找到“hkey”(表示查询出现了什么),它会将位置所在的行写入regout。txt。第二个for循环遍历文件的每一行,您可以在其中执行reg delete命令
如果文件为空,则找不到字符串,您应在Windows中再次运行regedit以确认该字符串是否存在
编辑:尝试解决“该进程无法访问该文件,因为该文件正被其他进程使用…”
尝试以下代码:它使用不同的文件名,创建一个带有查询输出的tmp文件,然后将其复制到txt。新的txt文件肯定会被解锁