批处理文件来查询注册表

时间:2013-11-26 14:33:12

标签: windows batch-file

我试图让我的批处理脚本检查是否存在两个注册表项,如果存在,请转到...

到目前为止,我的代码有效,但只需要检查两个密钥是否存在,以及是否存在其中一个或哪个密钥,因为可能存在HKCU\SOFTWARE\MICROSOFT\OFFICE\14.0HKCU\SOFTWARE\MICROSOFT\OFFICE\15.0都存在的情况。

如果两个密钥都存在,我需要它来执行:O2010:O2013

目前,如果两者都存在,那么它在运行:O2010

后就会停止
@ECHO OFF

REG QUERY HKCU\SOFTWARE\MICROSOFT\OFFICE\14.0 > NUL
IF NOT ERRORLEVEL 1 GOTO :O2010

REG QUERY HKCU\SOFTWARE\MICROSOFT\OFFICE\15.0 > NUL
IF NOT ERRORLEVEL 1 GOTO :O2013

GOTO :END

:O2010
reg import \\path_to_reg_file\regkey1.reg
GOTO :END

:O2013
reg import \\path_to_reg_file\regkey2.reg
GOTO :END

:END

非常感谢任何帮助。

3 个答案:

答案 0 :(得分:1)

你的意思是这样吗?:

@ECHO OFF

REG QUERY HKCU\SOFTWARE\MICROSOFT\OFFICE\14.0 > NUL
IF NOT ERRORLEVEL 1 reg import \\path_to_reg_file\regkey1.reg

REG QUERY HKCU\SOFTWARE\MICROSOFT\OFFICE\15.0 > NUL
IF NOT ERRORLEVEL 1 reg import \\path_to_reg_file\regkey2.reg

答案 1 :(得分:0)

这样的事情应该这样做:

@ECHO OFF

REG QUERY HKCU\SOFTWARE\MICROSOFT\OFFICE\12.0 > NUL
IF NOT ERRORLEVEL 1 set f1=1

REG QUERY HKCU\SOFTWARE\MICROSOFT\OFFICE\15.0 > NUL
IF NOT ERRORLEVEL 1 set f2=2

set /a f3=f1+f2
if %f3%==1 (echo reg import \\path_to_reg_file\regkey1.reg)
if %f3%==2 (echo reg import \\path_to_reg_file\regkey2.reg)
if %f3%==3 (echo reg import \\path_to_reg_file\regkey1.reg & echo reg import \\path_to_reg_file\regkey2.reg)

答案 2 :(得分:0)

这将导入reg键,如下所示:

A)如果任何一个密钥存在,它将导入相关的reg密钥
B)如果两个密钥都存在,它将导入两个密钥

@ECHO OFF
REG QUERY HKCU\SOFTWARE\MICROSOFT\OFFICE\14.0 > NUL && reg import \\path_to_reg_file\regkey1.reg
REG QUERY HKCU\SOFTWARE\MICROSOFT\OFFICE\15.0 > NUL && reg import \\path_to_reg_file\regkey2.reg
相关问题