用于检查注册表项中的 Office 版本并创建新的 Outlook 配置文件的批处理脚本

Batch script to check Office version in registry key's and create new Outlook profile

我有 100 台装有不同 Office 版本的电脑,我想为这台电脑上所有使用 GPO 的用户创建一个新的 Outlook 配置文件。所以我需要一个批处理脚本来检查注册表项中的 Office 版本(可能使用 reg 查询 HKEY_CLASSES_ROOT\Word.Application\CurVer),然后创建一个新的注册表项。
示例:

reg add "HKCU\Software\Microsoft\Office.0\Outlook\Profiles\NewProfile"
reg add "HKCU\Software\Microsoft\Office.0\Outlook" /v DefaultProfile /t REG_SZ /d "NewProfile" /F

我试过这个:

@Echo
reg query "HKEY_CLASSES_ROOT\Word.Application\CurVer" "(Default)" | Find "Word.Application.16" IF %ERRORLEVEL% EQU 1 goto first IF %ERRORLEVEL% EQU 0 goto second goto end
:second
reg add "HKCU\Software\Microsoft\Office.0\Outlook\Profiles\NewProfile"
reg add "HKCU\Software\Microsoft\Office.0\Outlook" /v DefaultProfile /t REG_SZ /d "NewProfile" /F
goto end
:first
goto end
:end
@exit

但是报错:

ERROR: Invalid syntax. Type "REG QUERY /?" for usage.

也许有人知道问题出在哪里?

这样试试:

@Echo
reg query "HKEY_CLASSES_ROOT\Word.Application\CurVer" | (
    Find "Word.Application.16"  >nul 2>&1 ) && (
        goto :second
    ) || (
        goto :first
    )
:second
reg add "HKCU\Software\Microsoft\Office.0\Outlook\Profiles\NewProfile"
reg add "HKCU\Software\Microsoft\Office.0\Outlook" /v DefaultProfile /t REG_SZ /d "NewProfile" /F
goto :end
:first
goto end
:end
@exit