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

[注册表类] 批处理判断注册表是否存在去安装,为啥没有注册表也安装了?

[复制链接]
发表于 2024-10-14 09:49:31 | 显示全部楼层 |阅读模式
  1. @ECHO OFF
  2. (PUSHD "%~DP0") & (REG QUERY "HKU\S-1-5-19" > NUL 2>&1) || (
  3.     powershell -Command "Start-Process '%~sdpnx0' -Verb RunAs" -WindowStyle hidden && EXIT
  4. )

  5. REM 执行第一个安装程序
  6. .\1.exe
  7. IF %ERRORLEVEL% NEQ 0 (
  8.     ECHO 第一个安装程序安装失败,停止安装第二个程序。
  9.     EXIT /B %ERRORLEVEL%
  10. )

  11. REM 检查注册表中的 ModelVersion 值
  12. FOR /F "tokens=2*" %%A IN ('REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\L\ModelMgr" /v ModelVersion 2^>nul') DO (
  13.     SET "ModelVersion=%%B"
  14. )

  15. REM 输出 ModelVersion 值以进行调试
  16. ECHO 检查到的 ModelVersion 为:!ModelVersion!

  17. REM 检查 ModelVersion 是否为空
  18. IF "!ModelVersion!"=="" (
  19.     ECHO ModelVersion 的值为空,停止安装程序。
  20.     EXIT /B 1
  21. )

  22. REM 如果 ModelVersion 不为空,执行安装操作
  23. ECHO ModelVersion 的值为 "!ModelVersion!",开始执行安装操作。
  24. REM 执行第二个安装程序(只有在第一个成功时才会执行)
  25. .\2.exe
  26. IF %ERRORLEVEL% NEQ 0 (
  27.     ECHO 第二个安装程序安装失败。
  28.     EXIT /B %ERRORLEVEL%
  29. )

  30. ECHO 所有安装程序已成功执行。
复制代码
发表于 2024-10-14 13:40:23 | 显示全部楼层
没开变量延迟
  1. @ECHO OFF
  2. (PUSHD "%~DP0") & (REG QUERY "HKU\S-1-5-19" > NUL 2>&1) || (
  3.     powershell -Command "Start-Process '%~sdpnx0' -Verb RunAs" -WindowStyle hidden && EXIT
  4. )
  5. setlocal enableDelayedExpansion
  6. REM 执行第一个安装程序
  7. .\1.exe
  8. IF !ERRORLEVEL! NEQ 0 (
  9.     ECHO 第一个安装程序安装失败,停止安装第二个程序。
  10.     EXIT /B !ERRORLEVEL!
  11. )

  12. REM 检查注册表中的 ModelVersion 值
  13. FOR /F "tokens=2*" %%A IN ('REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\L\ModelMgr" /v ModelVersion 2^>nul') DO (
  14.     SET "ModelVersion=%%B"
  15. )

  16. REM 输出 ModelVersion 值以进行调试
  17. ECHO 检查到的 ModelVersion 为:!ModelVersion!

  18. REM 检查 ModelVersion 是否为空
  19. IF "!ModelVersion!"=="" (
  20.     ECHO ModelVersion 的值为空,停止安装程序。
  21.     EXIT /B 1
  22. )

  23. REM 如果 ModelVersion 不为空,执行安装操作
  24. ECHO ModelVersion 的值为 "!ModelVersion!",开始执行安装操作。
  25. REM 执行第二个安装程序(只有在第一个成功时才会执行)
  26. .\2.exe
  27. IF !ERRORLEVEL! NEQ 0 (
  28.     ECHO 第二个安装程序安装失败。
  29.     EXIT /B !ERRORLEVEL!
  30. )

  31. endlocal
  32. ECHO 所有安装程序已成功执行。
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-17 17:26 , Processed in 0.016260 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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