下面的代碼會工作。現在,如果這些文件不是按順序排列的,那麼可以對此代碼進行調整,只要讓我知道是否也想處理這種情況。
代碼在這裏上市 -
%// Parameters
org_filename = 'work.mid';
main_dir = 'c:\saved_datas\'; %//'
%// Your code
nmat = readmidi_java(org_filename);
%// Added code
[~,filename_noext,ext] = fileparts(org_filename)
filenames = ls(strcat(main_dir,filename_noext,'*',ext))
new_filename = strcat(filename_noext,num2str(size(filenames,1)+1),ext)
Name = fullfile(main_dir,new_filename)
%// Your code
writemidi_java(nmat, Name);
爲了實現文件名的唯一性,有的還採用時間戳。這可以這樣來實現 -
org_filename = 'work.mid'; %//'
main_dir = 'c:\saved_datas\'; %//'
[~,filename_noext,ext] = fileparts(org_filename)
new_filename = strcat('filename_noext','-',datestr(clock,'yyyy-mm-dd-hh-MM-SS'),ext)
Name = fullfile(main_dir,new_filename);
你是基於什麼是工作文件的下一個數量決定上已經存在的工作文件,或只能通過點擊按鈕的數量? – Marcin