求可批量部署Adobe Acrobat DC的有效批处理脚本解决方案
解决Adobe Acrobat DC域内部署批处理脚本问题
看起来你的脚本在几个关键点上需要调整,才能实现你要的三个功能——干净卸载旧版本、静默安装新版本、删除全用户桌面快捷方式。我帮你梳理问题并给出修正后的脚本:
原脚本的核心问题
- 直接用
rmdir删除安装目录:非空目录无法直接删除,而且直接删文件夹会残留注册表/系统信息,这正是你遇到的Error 1316的根源(系统认为旧版本还存在)。 - 缺少删除全用户桌面快捷方式的逻辑。
- 卸载流程没有用官方卸载程序,导致清理不彻底。
修正后的完整批处理脚本
@echo off setlocal enabledelayedexpansion :: 1. 卸载已存在的Adobe Acrobat DC(使用官方卸载程序,确保清理彻底) set "uninstallerPath=C:\Program Files (x86)\Adobe\Acrobat DC\Acrobat\AcrobatUninstaller.exe" if exist "%uninstallerPath%" ( echo 正在卸载旧版本Adobe Acrobat DC... "%uninstallerPath%" /s if !errorlevel! equ 0 ( echo 卸载完成 ) else ( echo 卸载过程出现错误,错误码: !errorlevel! ) ) else ( echo 未找到已安装的Adobe Acrobat DC,跳过卸载步骤 ) :: 2. 静默安装Adobe Acrobat DC echo 开始静默安装Adobe Acrobat DC... "S:\Adobe_CC\AcrobatPro\AcrobatDC\AdobeAcrobatDC\Build\setup.exe" --silent --install if !errorlevel! equ 0 ( echo 安装成功完成 ) else ( echo 安装失败,错误码: !errorlevel! exit /b !errorlevel! ) :: 3. 删除所有用户桌面的"Adobe Creative Cloud.lnk"快捷方式 echo 开始清理用户桌面的Adobe Creative Cloud快捷方式... :: 删除公共桌面的快捷方式 if exist "C:\Users\Public\Desktop\Adobe Creative Cloud.lnk" ( del /f /q "C:\Users\Public\Desktop\Adobe Creative Cloud.lnk" echo 已删除公共桌面的快捷方式 ) :: 删除每个用户个人桌面的快捷方式 for /d %%U in ("C:\Users\*") do ( set "userDesktop=%%U\Desktop\Adobe Creative Cloud.lnk" if exist "!userDesktop!" ( del /f /q "!userDesktop!" echo 已删除用户 %%~nU 桌面的快捷方式 ) ) echo 所有任务执行完成 endlocal
关键调整说明
- 官方卸载程序:使用
AcrobatUninstaller.exe /s进行静默卸载,这是Adobe官方推荐的卸载方式,能彻底清理注册表和系统关联信息,避免1316错误。 - 安装参数优化:添加
--install参数明确执行安装操作(部分Adobe安装包需要这个参数确保静默安装生效),同时保留--silent实现无交互。 - 全用户快捷方式清理:
- 先处理公共桌面(所有用户都会看到的快捷方式)
- 用
for /d遍历C:\Users下的所有用户目录,逐个检查并删除个人桌面的快捷方式 - 使用
enabledelayedexpansion确保循环中变量正常解析
- 错误处理增强:每个步骤都检查
errorlevel,输出明确的执行状态,方便排查部署问题。
额外注意事项
- 确保部署服务(ManageEngine Desktop Central)有管理员权限执行脚本,卸载和安装都需要系统级权限。
- 如果你的安装包有自定义配置文件(比如
setup.ini),可以把配置文件放在setup.exe同目录下,静默安装时会自动读取。
内容的提问来源于stack exchange,提问作者Devan Swope




