我想从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');
答案 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目录所在的目录中这可能不是问题而且它希望它是有)。