groovy:解析注册表值-后续

5n0oy7gb  于 2021-06-30  发布在  Java
关注(0)|答案(0)|浏览(226)

这是groovy的后续问题:使用java解析注册表值和读/写windows注册表。原因很简单:不幸的是代码片段不起作用:-(。这是一个在dos shell上运行良好的命令:

reg query HKLM\SOFTWARE\7-Zip -v Path

这将返回正确的密钥。
当我想通过groovy获取密钥时,就像第一个引用中建议的那样

def output = 'reg query HKLM\\SOFTWARE\\7-Zip -v Path'.execute();
output.waitForProcessOutput(System.out,System.err)

def output2 = ['reg', 'query', 'HKLM\\SOFTWARE\\7-Zip', '-v', 'Path'].execute()
output2.waitForProcessOutput(System.out,System.err)

def output3  = Runtime.getRuntime().exec("reg query HKLM\\SOFTWARE\\7-Zip -v Path");
output3.waitForProcessOutput(System.out,System.err)

我总是犯这样的错误

key not found

在第二段引用中提出的java实现中,我不得不取消注解

if( ! output.contains("\t")){
                return null;
        }

为了得到输出;因此,输出格式似乎发生了变化,groovy解决方案不再按预期工作(?)。
我会很感激你的帮助,因为这个问题让我有点生气(或者我有一个打字错误,我没有找到…)。。。
谢谢!!
编辑:嗯,这可能是某种访问权问题。如果我从hkey\ U current\ U的用户那里取一把钥匙,它的作用就像魅力一样。。。不幸的是,这些知识并不能帮助我解决最初的问题。。。那么为什么它在java和dos中工作,而在groovy中却不工作呢?所有人都应该有相同的访问权限,不是吗?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题