繁体   English   中英

从MATLAB m.file启动.exe,路径问题

[英]Launch .exe from MATLAB m.file, path issues

我想从MATLAB中的m文件启动和.exe文件。 当我尝试.exe时无法启动。 在restPath中,包括.exe的路径。 我正在使用命令行在Windows环境中进行编码。 我的想法是传递命令以将.exe运行到命令行。

command = restPath;
[status,cmdout] = system(command,'-echo');

错误消息是; 找不到错误文件.cfg ...

你有什么建议吗? 最好的祝福

编辑:.exe现在将在2次迭代中启动。 1. cd到文件,2.启动

addpath(restPath);
command = horzcat('cd ',restPath);
[status,cmdout] = dos(command,'-echo');

execute = 'abc.exe';
[statusExe,cmdoutExe] = system(execute,'-echo');

我在这里看到的主要问题是,您正在对CD和执行使用两个单独的命令。 一旦执行了cd命令,就会丢弃命令行上下文,并且在执行系统命令时从新的上下文开始(因此cd无效)。

我建议使用“&”符号将两个命令合并为一个,如下所示:

[status,cmdout] = dos([command ' & ' execute],'-echo');

或者您可以先在mscript中使用标准cd命令来更改Matlab工作区,然后执行system命令。

currentPath = pwd;
cd(restPath);

execute = 'abc.exe';
[statusExe,cmdoutExe] = system(execute,'-echo');

cd(currentPath);

也有可能您正在调用的exe期望附加输入指向.cfg文件(尽管如果与exe位于同一目录中并且希望该目录存在,则这可能不是问题)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM