要查询注册表的批处理文件



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

到目前为止,我的代码可以工作,但只需要检查两个键是否存在,以及其中一个或另一个是否存在,因为可能存在HKCUSOFTWAREMICROSOFTOFFICE14.0HKCUSOFTWAREMICROSOFTOFFICE15.0都存在的情况。

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

目前,如果两者都存在,那么它在运行:O2010 后就会停止

@ECHO OFF
REG QUERY HKCUSOFTWAREMICROSOFTOFFICE14.0 > NUL
IF NOT ERRORLEVEL 1 GOTO :O2010
REG QUERY HKCUSOFTWAREMICROSOFTOFFICE15.0 > NUL
IF NOT ERRORLEVEL 1 GOTO :O2013
GOTO :END
:O2010
reg import \path_to_reg_fileregkey1.reg
GOTO :END
:O2013
reg import \path_to_reg_fileregkey2.reg
GOTO :END
:END

任何帮助都将不胜感激。

你的意思是这样的吗?:

@ECHO OFF
REG QUERY HKCUSOFTWAREMICROSOFTOFFICE14.0 > NUL
IF NOT ERRORLEVEL 1 reg import \path_to_reg_fileregkey1.reg
REG QUERY HKCUSOFTWAREMICROSOFTOFFICE15.0 > NUL
IF NOT ERRORLEVEL 1 reg import \path_to_reg_fileregkey2.reg

应该这样做:

@ECHO OFF
REG QUERY HKCUSOFTWAREMICROSOFTOFFICE12.0 > NUL
IF NOT ERRORLEVEL 1 set f1=1
REG QUERY HKCUSOFTWAREMICROSOFTOFFICE15.0 > NUL
IF NOT ERRORLEVEL 1 set f2=2
set /a f3=f1+f2
if %f3%==1 (echo reg import \path_to_reg_fileregkey1.reg)
if %f3%==2 (echo reg import \path_to_reg_fileregkey2.reg)
if %f3%==3 (echo reg import \path_to_reg_fileregkey1.reg & echo reg import \path_to_reg_fileregkey2.reg)

这将导入如下注册表项:

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

@ECHO OFF
REG QUERY HKCUSOFTWAREMICROSOFTOFFICE14.0 > NUL && reg import \path_to_reg_fileregkey1.reg
REG QUERY HKCUSOFTWAREMICROSOFTOFFICE15.0 > NUL && reg import \path_to_reg_fileregkey2.reg

最新更新