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

如何从MATLAB调用具备管理员权限的.bat文件

从MATLAB调用需管理员权限的批处理文件解决方案

问题背景

  • Windows账号属于管理员组,但执行修改系统时间的date命令时提示权限不足,必须以管理员身份运行终端
  • 已基于现有方案实现无权限批处理的调用,核心代码如下:
    startInfo = System.Diagnostics.ProcessStartInfo('cmd.exe', sprintf('/c "%s"', batFile));
    
  • 需求:通过修改cmd.exe参数或配置System.Diagnostics.ProcessStartInfo属性,让批处理获得管理员权限,需要简洁实现语法

解决方案

只需给ProcessStartInfo对象添加Verb属性并设置为'runas',这是Windows系统中请求管理员权限的标准配置,具体修改后的代码如下:

% 替换为你的批处理文件路径
batFile = 'D:\your_script.bat';

% 初始化ProcessStartInfo对象
startInfo = System.Diagnostics.ProcessStartInfo('cmd.exe', sprintf('/c "%s"', batFile));
% 关键配置:请求以管理员身份启动进程
startInfo.Verb = 'runas';

% 启动进程
process = System.Diagnostics.Process;
process.StartInfo = startInfo;
process.Start();

说明

  • 设置Verb = 'runas'后,系统会弹出UAC权限确认窗口(若UAC未禁用),确认后cmd.exe将以管理员身份运行,批处理中的date命令即可正常执行
  • 注意批处理内的date命令需符合Windows系统的日期格式要求,例如date 2024-05-20(格式需匹配当前系统区域设置)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 13:42:04