请教批处理高手:如何用批处理检查已安装的软件

来源:百度知道 编辑:UC知道 时间:2024/06/29 02:59:41
在网上有看到一个vbs脚本,可以检查系统中已安装的软件
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.CreateTextFile("c:\software.tsv", True)
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colSoftware = objWMIService.ExecQuery _
("Select * from Win32_Product")
For Each objSoftware in colSoftware
objTextFile.WriteLine objSoftware.Caption & vbtab & _
objSoftware.Description & vbtab & _
objSoftware.IdentifyingNumber & vbtab & _
objSoftware.InstallDate & vbtab & _
objSoftware.InstallLocation & vbtab & _
objSoftware.InstallState & vbtab & _
objSoftware.Name & vbtab & _
objSoftware.PackageCache & vbtab & _
objSoftware.SKUNumber & vbtab & _
objSoftware.Vendor & vbtab & _

更新:

@echo off&setlocal enabledelayedexpansion
set n=1
type nul>op.txt
reg export HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall reg.$ >nul
for /f "delims=" %%i in ('type reg.$ ^| findstr "DisplayName ["') do (
set foo=%%~i
set foo=!foo:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\=!
set foo=!foo:DisplayName=!
set foo=!foo:"=!
If "!foo:~,1!"=="=" (echo/ !foo:~1!) else (
echo/!n! !foo!
set /a n+=1
)
)>>op.txt
start op.txt
exit