直接讀取檔案然後不轉換直接往新檔案裡寫。 f1=dir("*.txt");fidout=fopen("新檔名.dat","w");%新建的dat檔案寫入for i=1:length(f1)%迴圈資料夾下的檔案fid=fopen(f1(i).name);%開啟檔案temp=fets(fid);%躲去第一行f=fread(fid);%讀取檔案,讀取了除了第一行之外所有的內容fclose(fid);fprintf(fidout,"%s",f);%往目標檔案裡寫end%資料夾迴圈結束fclose(fidout);還有一個能獲得資料夾下所有子資料夾的小程式,可以獲得指定路徑下所有的子資料夾路徑,配合 a=uigetdir 會很好用的。a=uigetdir;b = getfilename( a );for i=1:length(b).......endfunction b = getfilename( a )%得到a下面所有的子資料夾f=dir(a);d={};temp={};for i=1:length(f) if f(i).name(1)=="." %系統自帶的 "." 和 ".." 資料夾會帶來錯誤,應該還要去掉很多種隱藏資料夾,可惜不會。 else if f(i).isdirtemp1=fullfile(a,f(i).name); %資料夾路徑的拼接 d=[d;temp1]; %所有 a 路徑中 是資料夾的 路徑都存到 d 裡面 如果 d是空的就說明a 路徑下面沒有資料夾 end endend if isempty(d) b=a; else b={}; for i=1:length(d) b=[b;getfilename(d{i})]; %遞迴,這樣寫很慢,不如 使用MATLAB查詢和列出指定目錄及子目錄下的所有檔案(轉)_快樂的小豬啦_新浪部落格 做的好 end endend
直接讀取檔案然後不轉換直接往新檔案裡寫。 f1=dir("*.txt");fidout=fopen("新檔名.dat","w");%新建的dat檔案寫入for i=1:length(f1)%迴圈資料夾下的檔案fid=fopen(f1(i).name);%開啟檔案temp=fets(fid);%躲去第一行f=fread(fid);%讀取檔案,讀取了除了第一行之外所有的內容fclose(fid);fprintf(fidout,"%s",f);%往目標檔案裡寫end%資料夾迴圈結束fclose(fidout);還有一個能獲得資料夾下所有子資料夾的小程式,可以獲得指定路徑下所有的子資料夾路徑,配合 a=uigetdir 會很好用的。a=uigetdir;b = getfilename( a );for i=1:length(b).......endfunction b = getfilename( a )%得到a下面所有的子資料夾f=dir(a);d={};temp={};for i=1:length(f) if f(i).name(1)=="." %系統自帶的 "." 和 ".." 資料夾會帶來錯誤,應該還要去掉很多種隱藏資料夾,可惜不會。 else if f(i).isdirtemp1=fullfile(a,f(i).name); %資料夾路徑的拼接 d=[d;temp1]; %所有 a 路徑中 是資料夾的 路徑都存到 d 裡面 如果 d是空的就說明a 路徑下面沒有資料夾 end endend if isempty(d) b=a; else b={}; for i=1:length(d) b=[b;getfilename(d{i})]; %遞迴,這樣寫很慢,不如 使用MATLAB查詢和列出指定目錄及子目錄下的所有檔案(轉)_快樂的小豬啦_新浪部落格 做的好 end endend