2016-10-29 57 views
0

我是matlab新手,我寫了一個代碼實現圖像處理的gamma函數。我生成了大約300張名爲'001.jpg'到'300.jpg'的照片,然後使用ffmpeg製作視頻。 最後,我只需要視頻結果,並需要一個命令來刪除目錄中生成的所有照片!有沒有辦法做到這一點?在matlab目錄中刪除帶有編號名稱的文件

回答

1

如果你想刪除當前目錄下的所有.jpg文件,您可以使用delete命令用通配符(*

delete('*.jpg') 

如果文件過的文件夾中比當前目錄以外,你可以以這種方式指定目錄。

folder = '/path/to/my/files'; 
delete(fullfile(folder, '*.jpg')) 

如果你想將其限制在只是文件具有數字的文件名,你可以不喜歡以下

files = dir('*.jpg'); 
filenames = regexp({files.name}, '^[0-9]+\.jpg$', 'match', 'once'); 
filenames = cellstr(cat(1, filenames{:})); 

delete(filenames{:}) 
+0

如果我的文件夾中沒有其他圖片,'delete('*。jpg')'會工作得很好!但正則表達式完美,謝謝你。你能解釋第二行中的'match'和'once'是什麼嗎? –

+0

@AlalehA這只是使它,如果它匹配,它會返回匹配(文件名),這樣'filenames'是一個單元格數組包含要刪除的文件名 – Suever

0

添加到Suever的回答(不允許尚未就此發表評論):
假設你已經知道你正在創建的圖像的名字,你可以保存你的腳本到文件夾的「旅行」,然後自己創建文件名列表:

for i=1:numOfImages 
filenames(i)={strcat(num2str(i),'.jpg')}; 
end 

delete(filenames{:}) 
相關問題