file - 更改文件名

标签 file matlab filenames

我有一个关于如何更改某些文件名的问题。问题是我有这种文件,例如:

25614_z.zip
25312_z.zip
25003_z.zip

我想创建它:

lp_25_614.zip
lp_25_312.zip
lp_25_003.zip

所以,我需要自动化这个过程

lp + 25(前两位数字)+ 3 4 和 5 位置的数字)+ 点 zip

有什么办法吗?

编辑

例如,这就是我的条件:

XXXX

if fileNames{k}(3:5) >0 <5 (the interval)= 2
fileNames{k}(3:5)> >5 >10 =10

例如:

文件名{k}(3:5) = 05

在条件之后,它将在重命名中替换为= 2

然后我想将其添加到重命名名称上。

newFileName = ['fiche' fileNames{k} (3) 'pd' fileNames{k}(3:5) 'XXX '.tar.gz']; 

这可能吗?

最佳答案

您可以使用movefile重命名文件:

 myPath = 'C:\myFolder\'; % path to your files

fileNames = {
    '25614_z.zip'
    '25312_z.zip'
    '25003_z.zip'
    }


for k = 1:length(fileNames)
    newFileName = ['lp_' fileNames{k}(1:2) '_' fileNames{k}(3:5) '.zip'];
    % renaming
    movefile([myPath fileNames{k}], [myPath newFileName]); 
end

~编辑~ 关于您的编辑:是的,可以针对不同的情况生成不同的文件名。请注意,下面的示例非常笨拙,仅当您只有少量不同的情况时才应使用。

myPath = 'C:\myFolder\'; % path to your files

fileNames = {
    '25614_z.zip'
    '25312_z.zip'
    '25003_z.zip'
    }


for k = 1:length(fileNames)
    n = num2str(fileNames{k}(3:5));
    if n > 0 && n < 5
        fileName = % put your file name for this case here
    elseif n >= 5 && n < 10
        fileName = % put your file name for this case here
    elseif n >= 10 && n < 20
        fileName = % put your file name for this case here
    end
    % renaming
    movefile([myPath fileNames{k}], [myPath newFileName]);
end

关于file - 更改文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12893094/

相关文章:

file - Node.js:如何在不上传文件列表的情况下检查文件夹是否为空

java - 如何将信息发送到文件?

PHP 创建文件并在一小时、一周等后删除它

matlab - 存储 MATLAB 3d 视口(viewport)

windows - 重命名在 Unix 上创建的在 Windows 中具有特殊字符的文件的最佳实践?

php - 文件名的正则表达式,没有 url?

c# - 如何使用c#获取特定文件名

python - 从文件中读取时去除空格和新行

linux - 从部分名称在文本文件中的文件夹中选择 wav 文件

arrays - 如何让 MATLAB 更快地播放数组?