matlab 从 excel读取 日期_MATLAB批量修改文件名和选择性复制/剪切文件
今天解決的問題:
1、如何利用MATLAB批量修改文件名?
(前面寫過一次bat命令法,這個應該也算一次改進,程序的初衷是想將Smartsolo導出的文件名批量修改為以炮點樁號為文件名)
2、如何利用MATLAB選擇性批量復制/剪切文件?
(程序的初衷是讀取激發時間的時候需要從所有檢波點數據中把激發點的文件篩選出來)
兩個程序都不受限于文件類型。
程序都是為了解決平時工作中遇到的特定問題,具有一定的針對性。
比如目標文件名都是數字,具有一定特殊性。
函數具體使用方法在MATLAB中用help+函數名等方法都可以查看,就不再放函數使用鏈接。
1、利用MATLAB批量修改文件名—CCL_filerename()
%這個程序適用于所有類型文件名的批量修改,但運行速度比bat命令慢
代碼:
function [file_num]=CCL_filerename(file_begin,file_int,path_in,data_suffix)
%file_begin為起始文件名
%file_int為文件名之間的間隔
%path_in為文件所在路徑
%data_suffix為文件后綴名,也就是數據類型
%file_num為文件數量的返回值
cd(path_in);? ?%進入文件所在的文件路徑
file_all=dir(['*',data_suffix]);? ?%讀取當前文件夾下所有文件名,返回的為結構體,包含文件名,修改時間,大小等信息
file_num=length(file_all);? %文件數量
for i=1:file_num
? ? ori_name=file_all(i).name;? %原始文件名
? ? file_name=file_begin+file_int*(i-1);? ?%目標文件名
? ? new_name=[num2str(file_name),data_suffix];? %目標文件名加后綴
? ? eval(['!rename' ' ' ori_name ' ' new_name]);? %修改文件名
end
end
程序運行:
原始數據:
文件名修改后數據:
2、利用MATLAB選擇性批量復制/剪切文件—CCL_fileselect()
代碼:
function [copy_num]=CCL_fileselect(file_begin,file_int,data_suffix,path_in,path_out)
%file_begin為從第幾個文件開始
%file_int為文件之間的間隔
%data_suffix為文件后綴名
%path_in為當前文件所在路徑
%path_out為目標文件路徑
%copy_num為復制的文件個數的返回值
%注:目標文件路徑需在當前路徑下,即目標文件夾應為當前文件夾的子文件夾
cd(path_in);? ? %進入文件所在的文件路徑
file_all=dir(['*',data_suffix]);? ?%讀取當前文件夾下所有文件名,返回的為結構體,包含文件名,修改時間,大小等信息
file_num=length(file_all);? %文件數量
copy_num=0;
for i=file_begin:file_int:file_num
? ? copyfile(file_all(i).name,path_out);? ? %復制文件至目標文件路徑
? ? %movefile(file_all(i).name,path_out);? ? %剪切文件至目標文件路徑
? ? copy_num=copy_num+1;? %累計復制的文件個數
end
end
如:激發點從1000開始,間距為4,提取激發點文件。
程序運行:
當前文件路徑:
目標文件路徑程序運行結果:
好久沒登賬號今天突然看見多了兩個粉絲,感謝你們的關注。
每天解決一個小問題。
總結
以上是生活随笔為你收集整理的matlab 从 excel读取 日期_MATLAB批量修改文件名和选择性复制/剪切文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《楚乔传》男友力max榜单:宇文玥才排第
- 下一篇: “长别远无双”上一句是什么