Board logo

标题: [注册表类] BAT批处理如何判断程式是否安装 [打印本页]

作者: pp511    时间: 2020-9-2 07:50     标题: BAT批处理如何判断程式是否安装

各位大哥大姐们好,我是新手,请教个问题
例如:
我的电脑里没有安装7-zip,如何使用批处理判断,如果有安装就不安装,如果未安装就执行安装,这段批处理该如何下手,麻烦解惑一下,谢谢各位
作者: 窄口牛    时间: 2020-9-2 08:04

追踪7zip安装和绿色版运行后会留下什么痕迹,最常见的就是注册表
然后通过这个痕迹去判断。
作者: Batcher    时间: 2020-9-2 10:09

回复 1# pp511
  1. @echo off
  2. if not exist "%ProgramFiles%\7-Zip\7z.exe" (
  3.     if not exist "%ProgramFiles(x86)%\7-Zip\7z.exe" (
  4.         echo No 7-Zip
  5.     )
  6. )
  7. pause
复制代码

作者: pp511    时间: 2020-9-2 23:00

回复 3# Batcher

管理员谢谢你的代码,真是太感谢了
想再请教一下,如果确定检查没有安装,则请安装,是否再下一道指令else(转到安装),麻烦您再给小弟解答,谢谢您
作者: holley    时间: 2020-9-3 07:02

回复 1# pp511
比较常见的就是通过注册表或安装目录判断文件是否存在..
作者: 不知道是谁    时间: 2020-9-3 09:19

回复 4# pp511


    echo No 7-Zip 改为 start 7-Zip.exe /s
作者: Batcher    时间: 2020-9-3 11:20

回复 4# pp511
  1. @echo off
  2. if not exist "%ProgramFiles%\7-Zip\7z.exe" (
  3.     if not exist "%ProgramFiles(x86)%\7-Zip\7z.exe" (
  4.         goto :NotExist7z
  5.     )
  6. )
  7. :Exist7z
  8. echo Found 7-Zip
  9. goto :End
  10. :NotExist7z
  11. echo No 7-Zip
  12. REM 假设7-Zip安装程序路径是 C:\test\7z1900.exe
  13. start "" "C:\test\7z1900.exe"
  14. goto :End
  15. :End
  16. pause
复制代码

作者: pp511    时间: 2020-9-3 23:15

回复 7# Batcher
这里实在是太棒了,谢谢大家的指点指导,小弟一定好好学习




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2