Shell脚本读取windows注册表 我需要一些帮助,以帮助从Windows注册表读取英伟达驱动程序版本。p>

Shell脚本读取windows注册表 我需要一些帮助,以帮助从Windows注册表读取英伟达驱动程序版本。p>,windows,batch-file,Windows,Batch File,基本上,windows命令(在dos提示符下工作正常)如下所示: REG QUERY "HKLM\SOFTWARE\NVIDIA Corporation\Installer" /v Version 很自然,我尝试从shell脚本运行它: CMD //C 'REG QUERY "HKLM\SOFTWARE\NVIDIA Corporation\Installer" /v Version' 但是它说密钥名是无效的。我的猜测是双引号被误解了(很可能是因为语法错误) 我尝试过几件事,比如在批处理脚本

基本上,windows命令(在dos提示符下工作正常)如下所示:

REG QUERY "HKLM\SOFTWARE\NVIDIA Corporation\Installer" /v Version
很自然,我尝试从shell脚本运行它:

CMD //C 'REG QUERY "HKLM\SOFTWARE\NVIDIA Corporation\Installer" /v Version'
但是它说密钥名是无效的。我的猜测是双引号被误解了(很可能是因为语法错误)

我尝试过几件事,比如在批处理脚本中输入这段代码,以及从shell执行批处理。同样的问题也发生了

有人能帮忙吗

提前谢谢


Pat

//C是无效的cmd.exe语法,请使用/C

但是不需要在批处理文件中使用cmd/C,可以使用call:
callsomeapp.exe

“作为引语是不合法的

尝试:

我在Java中使用这个:

start=Runtime.getRuntime().exec(新字符串[]{“reg”,“export”,“path”, 如前所述: 调用REG查询“HKLM\SOFTWARE\NVIDIA Corporation\Installer”/v版本


应该也能正常工作

谢谢你的回答。我没有提到我是从mingw32执行这个脚本的。//C是有效的,我遇到的问题是因为32/64位的差异和在注册表中的位置。我通过调用本机命令提示符解决了这个问题。
call REG QUERY "HKLM\SOFTWARE\NVIDIA Corporation\Installer" /v Version