我有一个用于创建一个图像结果的程序(以exe格式)。通常,当我使用它时,我将可执行文件复制到图像文件夹中,然后在msdos控制台上键入命令。现在,我想尝试使用不同的文件夹自动化,每个文件夹都有图像。
我想要做的是matlab在每个文件夹中执行程序。我一直在做的是:
Path= 'C:\Tools\'
a= dir (fullfile(Path,'*'))
fileNames = { a.name };
for k = 1:length(fileNames)
system('C:\programme.exe')
end
它无法正常工作。可能是因为没有在每个文件夹中执行程序?
提前致谢!
答案 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)