在批处理文件中,在用户安装某些内容之前,我需要验证他是否未使用给定的命名空间和类名注册其他CLSID。这可能吗 ?我的理解是这是ProgID。我知道ProgID不是必需的,可能会丢失一些COM对象,但如果存在,我想检查一下。
我可以通过regedit直观地做到这一点,但这显然不符合我的目的。
答案 0 :(得分:1)
这将使用ProgID键遍历所有CLSID并检查它们是否与指定的字符串匹配。
@echo off
setlocal EnableDelayedExpansion
set "xLast="
for /F "tokens=1,2,*" %%A in ('reg query HKCR\CLSID /s /f ProgID /k /e /ve') do (
rem echo(%%C
if "%%~C" EQU "Enter ProgID to match on here" echo Found Match: !xLast!
set "xLast=%%A %%B %%C"
)
endlocal
pause