将文件从xx_02.csv重命名为xx.csv

时间:2015-06-18 10:34:52

标签: matlab

我有一个文件夹'a',大约有200个文件名为xx_out_02.csv,我想将它们重命名为xx_out.csv。可能正在使用Matlab或运行一些脚本。我在cmd中尝试过但我必须为每个文件运行命令。 有人可以帮助我吗?

最诚挚的问候 迪利普

2 个答案:

答案 0 :(得分:2)

您可以使用movefile中的matlab功能。

以下是一个例子:

clc

addpath('yourdir')

csvf = dir('yourdir/*.csv');
numberOfcsv = numel(csvf);

for ii = 1:numberOfcsv
    file = csvf(ii).name;

    movefile(sprintf('yourdir/%s', file), sprintf('yourdir/x%03d_out.csv', ii), 'f');
end

答案 1 :(得分:1)

你的问题不清楚。我假设

  • 您希望在_之前删除 .csv形式的子字符串,后跟一个或多个数字
  • 生成的目标名称都不同。例如,您有xx_out_02.csvyy_out_01.csv等文件,但不包含xx_out_02.csvxx_out_01.csv
  • 操作系统?我在考虑Windows。对于其他系统,您可以使用适当的系统命令更改下面的system行。或者更好地使用movefile中的files = dir('*.csv'); names = {files.name}; for n = 1:numel(names) name = names{n}; name_new = regexprep(name, '_\d+(?=\.csv$)', ''); system(['ren ' name ' ' name_new]); %// MS-DOS command to rename file end

代码:

quad