这是 Windows 的 UAC 机制导致的:右键 “以管理员身份运行” 时,工作目录会被强制重置为 C:\Windows\System32。
方案:修改批处理文件(万能解决)
在你的 .bat 文件最开头,加上这一行:
@echo off
cd /d "%~dp0"
:: 下面写你原来的命令
start "" "my_program.exe"参数解释:
%~dp0:当前批处理文件所在的完整路径(盘符 + 目录)/d:跨盘符切换(比如从 C: 切到 D: 也有效)- 加引号:防止路径中包含空格(如
Program Files)