2014-10-07 191 views
1

我有一個程序(以exe格式)用於創建一個圖像結果。通常,當我使用它時,我將可執行文件複製到一個圖像文件夾中,然後在msdos控制檯上鍵入命令。現在,我想嘗試使用不同的文件夾來自動化,每個文件夾都有它的圖像。在不同文件夾中執行一個exe文件

我想要做的是matlab在每個文件夾中執行程序。我一直在做的是以下幾點:

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

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

它工作不正常。可能是因爲沒有在每個文件夾中執行程序?

在此先感謝!

回答

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我將離開你做