这是我在文件夹84 files中的。csv文件的示例
W17F07mylatest0_077004_20220214_122524_a
W17F07mylatest0_077005_20220214_122530_a
W17F07mylatest0_077006_20220214_122537_a
W17F07mylatest0_077007_20220214_122543_a
我想删除"_20220214_122524_a"获取每个文件的部分:
W17F07mylatest0_077004
W17F07mylatest0_077005
W17F07mylatest0_077006
W17F07mylatest0_077007
我试过使用
movefile('W17F07mylatest0_077005_20220214_122530_a.csv','W17F07mylatest0_077005.csv')
或
newStr = extractBefore(W17F07mylatest0_077005_20220214_122530_a.csv, "_2022");
name_join = strcat(newStr, ".csv");
我每次只能更改一个文件,但需要一个代码来循环文件夹中的所有文件。
谢谢你的帮助。
假设下划线位置不变,可以使用
fname='W17F07mylatest0_077004_20220214_122524_a';
fnamesplit=split(fname,'_');
fnamej=strjoin(fnamesplit(1:2),'_');
fnamej =
'W17F07mylatest0_077004'
批量处理:
filedir=dir('.*.csv');
for ifd=1:length(filedir)
fname=filedir(ifd).name;
fnamesplit=split(fname,'_');
fnamej=strjoin(fnamesplit(1:2),'_');
movefile(filedir(ifd).name,fnamej)
end
我没有实际的文件来测试这些。如果你有任何错误,请告诉我。