简体   繁体   English

批处理文件以查询注册表

[英]Batch file to query registry

I'm trying to get my batch script to check if two registry keys exist and if they do, goto... 我正在尝试获取批处理脚本,以检查是否存在两个注册表项,如果存在,请转到...

So far, my code works but just need it to check if both keys exist as well as if one or the other exists as there may be cases when HKCU\\SOFTWARE\\MICROSOFT\\OFFICE\\14.0 and HKCU\\SOFTWARE\\MICROSOFT\\OFFICE\\15.0 both exist. 到目前为止,我的代码可以运行,但只需要检查两个密钥是否都存在以及一个或另一个是否存在,就可能会出现HKCU\\SOFTWARE\\MICROSOFT\\OFFICE\\14.0HKCU\\SOFTWARE\\MICROSOFT\\OFFICE\\15.0两者都存在。

I need it to execute :O2010 and :O2013 if both keys exist. 如果两个键都存在,我需要它执行:O2010:O2013

At the moment, if both exist then it just stops after it runs :O2010 目前,如果两者都存在,那么它会在运行之后停止: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

Any help would be much appreciated. 任何帮助将非常感激。

Do you mean like this?: 你是这个意思吗?

@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

Something like this should do it: 这样的事情应该做到:

@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)

This will import the reg keys as below: 这将导入reg键,如下所示:

A) if either key exists it will import the associated reg key A)如果任何一个密钥存在,它将导入关联的reg密钥
B) if both keys exist it will import both keys 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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM