找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 19197|回复: 5

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

[复制链接]
发表于 2021-10-2 01:04:49 | 显示全部楼层 |阅读模式
本帖最后由 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
发表于 2021-10-2 10:53:06 | 显示全部楼层
回复 1# hztccy


读一遍这个for命令教程:
http://bbs.bathome.net/thread-31727-1-1.html

然后把你写的 for /f 代码发出来看看,我可以帮忙修改。
 楼主| 发表于 2021-10-2 18:30:45 | 显示全部楼层
本帖最后由 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理解不了其中的意思。总是调试不出来
发表于 2021-10-2 20:42:02 | 显示全部楼层
回复 3# hztccy


    暂时忘掉百度,先看看2楼的教程。这个代码主要的错误不是tokens那几个参数
发表于 2021-10-2 20:45:34 | 显示全部楼层
if语句,两段goto循环都有问题。
 楼主| 发表于 2021-10-2 23:23:13 | 显示全部楼层
回复 4# Batcher


    谢了。已经在群友的协助下。搞清楚错误的地方。我的参数没用错。主要是最后的if 和 括号里的'没用对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 08:48 , Processed in 0.018805 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表