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

时间:2016-01-15 08:38:46

标签: windows matlab command-line exe

我想从MATLAB中的m文件启动和.exe文件。我尝试时,.exe不会启动。在restPath中,包含.exe的路径。我使用命令行在Windows环境中编码。我的想法是通过命令将.exe运行到命令行。

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

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

你有什么建议吗? 最好的问候

编辑:.exe现在在2次迭代中启动。 1. cd to file,2。启动

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

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

1 个答案:

答案 0 :(得分:1)

我在这里看到的主要问题是你使用两个单独的命令来执行cd和执行。执行cd命令后,命令行上下文将被丢弃,并在执行系统命令时启动一个新命令(因此cd无效)。

我建议使用'&'将两个命令连接成一个。符号如下:

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

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

currentPath = pwd;
cd(restPath);

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

cd(currentPath);

你正在调用的exe也可能需要一个额外的输入来指向.cfg文件(尽管如果你在exe目录所在的目录中这可能不是问题而且它希望它是有)。