从batch file中,在用户安装某些东西之前,我需要确认他没有注册具有给定名称空间和类名的其他CLSID。 这可能吗 ? 我的理解是这是ProgID。 我知道ProgID不是必需的,可能会丢失一些COM对象,但它存在的位置,我想检查它。
我可以通过registry直观地做到这一点,但这显然不符合我的目的。
这将循环所有的CLSID与一个ProgID键,并检查它们是否匹配指定的字符串。
@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