1

从批处理文件中,在用户安装某些东西之前,我需要验证他没有使用给定的命名空间和类名注册其他 CLSID。这可能吗 ?我的理解是,这是 ProgID。我知道 ProgID 不是必需的,并且某些 COM 对象可能会丢失,但如果它存在,我想检查它。

我可以通过 regedit 直观地做到这一点,但这显然不符合我的目的。

4

1 回答 1

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
于 2013-01-07T19:35:16.087 回答