cmd命令如何判断 是否已安装一个软件?

如题所述

这个判断起来有点难。。。不过也不是没有可能,就是麻烦
我的思路是,因为安装一个软件,一般会在两个地方找到,
1,开始菜单
2,添加删除程序列表

既然如此,开始菜单的判断路径为:‘C:\Documents and Settings\All Users\Start Menu\Programs’
而一般情况下,有些程序是不会显示在开始菜单,那么就只能判断添加删除程序列表了。。

而添加删除程序列表,只能去读注册表(注册表记录了电脑的所有信息,只要用好了,会很强大的)。添加删除程序列表在注册表中的位置为:‘HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall ’
你只能一个key,一个key的去读 ‘DisplayName’的键值了。。。

不过,就算读取了键值,其显示名称不一定也是这个软件的全称或者什么的。。。这个你得用用正则表达式了。。。
我不知道cmd能用正则表达式不。。。
温馨提示:内容为网友见解,仅供参考
第1个回答  2018-08-27

    所有在windows正常安装了的普通软件:

REG QUERY "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths"

列出名为应用名称(xxx.exe)的注册表文件夹,里面数值是软件安装路径(软件路径和软件目录路径)

    所有UWP应用:

CD "C:\Program Files\WindowsApps"&DIR

列出UWP应用安装目录(UWP应用保存文件夹默认为C:\Program Files\WindowsApps文件夹,如果更改了应用保存位置就在其他盘的X:\WindowsApps),文件夹内就是UWP应用(但是你不能直接运行这个exe)

运行此命令需要管理员权限!!!

    那种就一个exe,没有固定路径,即点即用用完一点痕迹都不留的便携软件(有固定路径的就扫描固定路径是否存在指定exe,有些应用或系统组件或隐藏组件会在固定的ProgramFiles、ProgramData等各种地方但不写注册表):

你要是硬要去找只能全盘搜索exe文件进行MD5匹配了(考虑到一些用户会将便携软件重命名)

第2个回答  2011-06-01
这个不太好判断的,因为很多软件并没有设置环境变量。所以你运行命令不成功并不代表软件没有安装。而且很多软件的名称和通常他们的叫法并不一样。
第3个回答  2011-06-01
XP系统 点开始---运行----输入“cmd” 出现DOS对话框 提示符后面输入“help” 你能看到基本上可用的CMD命令本回答被网友采纳
相似回答