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

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

  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 所有安装程序已成功执行。
复制代码

没开变量延迟
  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 所有安装程序已成功执行。
复制代码
微信:flashercs
QQ:49908356

TOP

返回列表