使用Ruby/JRuby更改注册表值

使用Ruby/JRuby更改注册表值,ruby,registry,Ruby,Registry,我有一个.reg文件,它可以更改一些注册表值,这很好用。我试图通过JRuby编写的脚本调用它,并使用system('path\to\file.reg')调用,但由于某些原因,文件没有被执行。我试着用双引号代替单引号,用两个正斜杠来避免转义、反斜杠和其他一些东西。我还尝试使用Ruby中的Win32API以编程方式更改脚本中的注册表值,但我也没有这样的运气(这是一台64位机器)。我使用的代码是: Win32::Registry::HKEY_LOCAL_MACHINE.open('SOFTWARE\f

我有一个.reg文件,它可以更改一些注册表值,这很好用。我试图通过JRuby编写的脚本调用它,并使用
system('path\to\file.reg')
调用,但由于某些原因,文件没有被执行。我试着用双引号代替单引号,用两个正斜杠来避免转义、反斜杠和其他一些东西。我还尝试使用Ruby中的Win32API以编程方式更改脚本中的注册表值,但我也没有这样的运气(这是一台64位机器)。我使用的代码是:

Win32::Registry::HKEY_LOCAL_MACHINE.open('SOFTWARE\foo') do |reg|
    reg.each_value { |name, type, data| } 
end

还有其他方法可以实现这一点吗?

我可以通过以管理员身份运行IDE并运行以下命令来实现这一点:

system("reg add HKLM\\SOFTWARE\\Wow6432Node\\Path\\To\\Location /v *Name* /t REG_SZ /d *Data* /f")
基本上,我通过系统调用执行.reg文件的内容,因为它只做了一件事