[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[注册表类] 【已解决】批处理注册表获取键值传递给临时变量使用求问?

本帖最后由 hztccy 于 2024-2-22 22:38 编辑

这两天想写一个软件静默安装
然后需要判断注册表的某个键值是否为我所需要的
  1. reg QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Adobe Flash Player ActiveX" /v DisplayVersion
复制代码
这样是显示了我所需要的注册表数值
但是我该怎么传递给变量零时使用呢?

根据百度上的资料。我试了for /f 但是其参数总是理解不了。总是调试失败

使用set /p 直接赋值,但是赋值的是真个注册表路径,返回值为0

使用IF 判断也不知道该怎么来写这个判断。

求大神帮个忙。写判断

我的需要是,读取上面注册表数值进行匹配,如果匹配成功则执行GOTO :A反之数值不匹配则执行GOTO :B

本帖最后由 hztccy 于 2021-10-2 18:31 编辑

回复 2# Batcher
  1.    
  2. echo on
  3. for /f "tokens=2" %%i in (reg QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Adobe Flash Player ActiveX" /v DisplayVersion) do (if %%i==34.0.0.192 goto A esle goto B)
  4. :A
  5. echo 显示正确
  6. :B
  7. echo 显示正确
  8. pause
复制代码
帮我看看。这个是我根据百度得来修改的,主要是参数这几个tokens理解不了其中的意思。总是调试不出来

TOP

回复 4# Batcher


    谢了。已经在群友的协助下。搞清楚错误的地方。我的参数没用错。主要是最后的if 和 括号里的'没用对

TOP

返回列表