我正在尝试将变量设置为注册表路径。 然后查询注册表并尝试与变量匹配。如果两者相同则转到执行。 但由于某些原因我得到错误,看起来这个命令有一些问题
set var=HKEY_LOCAL_MACHINE\System\x
IF reg query==var
GOTO EXecute
答案 0 :(得分:2)
你在做什么只是比较字符串。命令解释器应该如何知道reg query
是一个命令(除了事实,它本身不会产生很多有用的东西)。
您需要做的是执行程序,捕获其输出然后进行比较。您可以使用for /f
命令执行此操作:
for /f %%x in ('reg query ...') do ...
然而,reg
的输出是人类可读的,而不是机器可读的,所以你需要做一些工作才能使它正确。基本上你需要忽略for
语句中的空行和标题行......然后你需要找到你感兴趣的实际值。这会很快变得丑陋。
答案 1 :(得分:0)
for /f %%a in ('reg query ...') do if "%var%" == "%%a" goto Execute