重命名批处理文件(在名称中删除一些符号)(python / matlab / shell)

时间:2019-01-31 10:25:53

标签: python c++ matlab shell rename

我想重命名文件夹中的许多文件。所有文件均以tr_+number+samp_+missing symbols

开头

发件人:

tr_000_samp_833f.bin
tr_001_samp_889f.bin
tr_002_samp_12f0.bin
tr_003_samp_320v.bin

收件人:

tr_000_samp.bin
tr_001_samp.bin
tr_002_samp.bin
tr_003_samp.bin

任何语言都可以。 MATLAB,python c ++或shell。 真是太卑鄙了!

1 个答案:

答案 0 :(得分:0)

我假设名称具有固定的长度,并提供Matlab步骤。

先获取文件夹中文件的列表:

dirc = dir();

现在仅获取符合某些条件的名称:

rename_list = {};
for ii=1:length(dirc)
  if(~isempty(strfind(dirc(ii).name,'tr_')) &&...
     ~isempty(strfind(dirc(ii).name,'samp_')) &&...
     ~isempty(strfind(dirc(ii).name,'.bin')))

使用新名称复制文件:

       name = dirc(ii).name;
       copyfile(name,name([1:11,end-3,end])

删除旧文件(如果必须并且足够勇敢的话)

       delete(name)

关闭循环:

   end
end