繁体   English   中英

尝试将命令外的内容存储到变量中并尝试在批处理文件中进行匹配

[英]Trying to store the out of a command to a variable and trying to match in batch file

我正在尝试将变量设置为注册表路径。 然后查询注册表并尝试与该变量匹配。如果两者相同,则转到执行。 但是由于某种原因,我收到了错误消息,看起来此命令存在一些问题

set var=HKEY_LOCAL_MACHINE\System\x

IF reg query==var
GOTO EXecute 

您在这里所做的只是比较字符串。 命令解释器应该如何知道reg query是命令(除了事实,它本身不会产生太多有用的东西)。

您需要在这里执行程序,捕获其输出,然后进行比较。 您可以使用for /f命令执行此操作:

for /f %%x in ('reg query ...') do ...

但是, reg的输出是人类可读的,而不是机器可读的,因此您需要做一些工作才能使其正确。 基本上,您需要忽略for语句和标题行中的空行...然后,您需要找到您感兴趣的实际值。 这将很快变得难看。

for /f %%a in ('reg query ...') do if "%var%" == "%%a" goto Execute

暂无
暂无

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

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