You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SCCM部署bat脚本运行提示找不到同目录exe文件的解决方法

问题原因

本地手动执行bat脚本时,系统默认将脚本所在文件夹设为当前工作目录,直接写相对路径VooVMeeting.exe可以正常命中文件。但SCCM通过Software Center调用脚本时,默认工作目录是系统路径C:\Windows\System32(32位调用时为C:\Windows\SysWOW64),不会自动切换到SCCM本地缓存的安装包所在目录,因此相对路径无法定位到同级的exe文件。

修复方法

核心逻辑是显式指定exe的绝对路径,或者提前将工作目录切换到bat脚本自身所在的目录。bat内置变量%~dp0可以直接获取当前脚本所在目录的完整绝对路径(自带末尾反斜杠),不受调用时工作目录的影响。

  • 改动最小的方式:直接在调用exe时拼接%~dp0补全绝对路径
  • 适合多文件场景的方式:脚本开头执行目录切换,后续所有相对路径默认基于脚本所在目录生效

修正后可直接用的脚本

注意start命令后要加一个空引号占位:start语法会将第一个被引号包裹的参数识别为新窗口标题,不加空引号会出现路径被误判为标题、程序不启动的问题,这是bat脚本的常见坑。

@echo off

REM 切换当前工作目录到bat自身所在目录,/d参数支持跨盘符切换
cd /d "%~dp0"

REM 静默安装腾讯会议,空引号作为窗口标题占位
start "" "VooVMeeting.exe" /S

REM 创建桌面快捷方式
set SCRIPT="%TEMP%\%RANDOM%-%RANDOM%-%RANDOM%-%RANDOM%.vbs"

echo Set oWS = WScript.CreateObject("WScript.Shell") >> %SCRIPT%
echo sLinkFile = "C:\Users\%USERNAME%\Desktop\VooV Meeting.lnk" >> %SCRIPT%
echo Set oLink = oWS.CreateShortcut(sLinkFile) >> %SCRIPT%
echo oLink.TargetPath = "C:\Program Files (x86)\Tencent\VooVMeeting\voovmeetingapp_new.exe" >> %SCRIPT%
echo oLink.Save >> %SCRIPT%

cscript /nologo %SCRIPT%
del %SCRIPT%

REM 等待30秒确保安装完成
timeout /t 30 /nobreak>NUL

REM 返回成功退出码
EXIT /B 0
SCCM侧配套检查点
  • 确认SCCM应用包源目录中,VooVMeeting.exe和bat脚本放在同一级,更新分发点时所有安装文件都已同步,不要只上传脚本漏传安装包
  • 如果部署时选择了「无论用户是否登录都安装」(即System上下文安装),原脚本里用%USERNAME%创建桌面快捷方式的逻辑会失效:System上下文下该变量指向SYSTEM账户的用户目录,不会在实际登录用户的桌面生成快捷方式,需要单独调整获取用户桌面路径的逻辑
  • 如果部署的是64位应用,可以在SCCM程序属性页勾选「禁用64位文件系统重定向」,避免32位客户端代理调用时路径被重定向到SysWOW64引发异常

内容的提问来源于stack exchange,提问作者ImposterSyndrome137

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 13:27:22