在不同的文件夹中执行exe文件

时间:2014-10-07 12:05:08

标签: matlab exe

我有一个用于创建一个图像结果的程序(以exe格式)。通常,当我使用它时,我将可执行文件复制到图像文件夹中,然后在msdos控制台上键入命令。现在,我想尝试使用不同的文件夹自动化,每个文件夹都有图像。

我想要做的是matlab在每个文件夹中执行程序。我一直在做的是:

Path= 'C:\Tools\'
a= dir (fullfile(Path,'*'))
fileNames = { a.name };

for k = 1:length(fileNames)
   system('C:\programme.exe')
end

它无法正常工作。可能是因为没有在每个文件夹中执行程序?

提前致谢!

2 个答案:

答案 0 :(得分:2)

嗯,你需要先将你的programme.exe移到文件夹中,所以可能会这样:

Path= 'C:\Tools\'
a= dir (fullfile(Path,'*'))
fileNames = { a.name };

for k = 1:length(fileNames)
   copy('C:\programme.exe', [fileNames, '\programme.exe'])
   system('programme.exe')
end

您可能还有其他一些问题,例如您在调用dir时只需要文件夹名称,因此您可能希望忽略其中包含.的任何名称:

Path= 'C:\Tools\'
a= dir (fullfile(Path,'*'))
Names = { a.name };
ind = cell2mat(cellfun(@(x)(any(ismember(x,'.'))),b,'uni',0));
folders = Names(~ind)  

for k = 1:length(folders)
   copy('C:\programme.exe', [fileNames, '\programme.exe'])
   system('programme.exe')
end

但我认为您可能宁愿使用move而不是copy我会留给您做

答案 1 :(得分:-1)

看起来改变工作目录会起到作用:

http://www.mathworks.com/help/matlab/ref/cd.html

cd(Path)