24小时热门版块排行榜    

CyRhmU.jpeg
查看: 3255  |  回复: 12

rjie88

银虫 (小有名气)

[求助] matlab 怎么批量的更改大量的文件名

现有几百个.bin格式的文件,想一次性重新对其命名,比如,第一个文件命名ss-1,第二个文件命名为ss-2依次命名下去,用matlab怎么实现,烦请指教。
回复此楼
人生最大的快乐在于分享
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

baobiao007

木虫 (职业作家)

中国特色

CODE:
clear;clc;

str = dir('e:\laowu2013-07-23\matlab code\My Programs\tests\RayleighWave_Viscoelastic\muller\*.bin'); % 替换成你自己的文件所在目录
strx = struct2cell(str);
sn = length(strx(1,:));
for ix = 1:sn
    newname=sprintf('ss-%d.bin',ix);
    movefile(strx{1,ix},newname);
end

经测试,上面代码可以完成你的任务
我同意叔本华的观点,人们投身艺术和科学领域的强烈愿望之一就是逃离痛苦、残酷和枯燥无味的现实生活,逃离自己飘忽不定的七情六欲的桎梏。--爱因斯坦
7楼2013-10-31 19:16:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

baobiao007

木虫 (职业作家)

中国特色

【答案】应助回帖

感谢参与,应助指数 +1
movefile(旧文件名,新文件名)      非常方便
我同意叔本华的观点,人们投身艺术和科学领域的强烈愿望之一就是逃离痛苦、残酷和枯燥无味的现实生活,逃离自己飘忽不定的七情六欲的桎梏。--爱因斯坦
2楼2013-10-31 18:11:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

rjie88

银虫 (小有名气)

引用回帖:
2楼: Originally posted by baobiao007 at 2013-10-31 18:11:07
movefile(旧文件名,新文件名)      非常方便

您好,感谢您的回复,但是还是不知道怎么一次性操作上百个文件,新手,烦请给段程序,谢谢
人生最大的快乐在于分享
3楼2013-10-31 18:32:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

baobiao007

木虫 (职业作家)

中国特色

引用回帖:
3楼: Originally posted by rjie88 at 2013-10-31 18:32:09
您好,感谢您的回复,但是还是不知道怎么一次性操作上百个文件,新手,烦请给段程序,谢谢...

首先要保证你这上百个文件的老文件名也非常有规律,否则可能就有些麻烦了。
我同意叔本华的观点,人们投身艺术和科学领域的强烈愿望之一就是逃离痛苦、残酷和枯燥无味的现实生活,逃离自己飘忽不定的七情六欲的桎梏。--爱因斯坦
4楼2013-10-31 18:48:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

baobiao007

木虫 (职业作家)

中国特色

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
rjie88: 金币+10, 有帮助 2013-10-31 19:02:31
rjie88: 金币+40 2013-10-31 19:38:41
刚才看了点资料,发现即使 老文件名没什么规律,配合dir函数也可以搞定
我同意叔本华的观点,人们投身艺术和科学领域的强烈愿望之一就是逃离痛苦、残酷和枯燥无味的现实生活,逃离自己飘忽不定的七情六欲的桎梏。--爱因斯坦
5楼2013-10-31 18:55:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

rjie88

银虫 (小有名气)

引用回帖:
5楼: Originally posted by baobiao007 at 2013-10-31 18:55:29
刚才看了点资料,发现即使 老文件名没什么规律,配合dir函数也可以搞定

能不能给一段程度,谢谢
人生最大的快乐在于分享
6楼2013-10-31 19:02:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

rjie88

银虫 (小有名气)

引用回帖:
7楼: Originally posted by baobiao007 at 2013-10-31 19:16:00
clear;clc;

str = dir('e:\laowu2013-07-23\matlab code\My Programs\tests\RayleighWave_Viscoelastic\muller\*.bin'); % 替换成你自己的文件所在目录
strx = struct2cell(str);
sn = length(strx(1,);
...

您好,如果是for ix = sn:-1:1
                          newname=sprintf('ss-%d.bin',ix);
                          movefile(strx{1,ix},newname);
                  end
是不是命名就是从最后一个开始改名。
人生最大的快乐在于分享
8楼2013-10-31 20:43:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

baobiao007

木虫 (职业作家)

中国特色

引用回帖:
8楼: Originally posted by rjie88 at 2013-10-31 20:43:38
您好,如果是for ix = sn:-1:1
                          newname=sprintf('ss-%d.bin',ix);
                          movefile(strx{1,ix},newname);
                  end
是不是命名就是从最后一个开始改 ...

是的
我同意叔本华的观点,人们投身艺术和科学领域的强烈愿望之一就是逃离痛苦、残酷和枯燥无味的现实生活,逃离自己飘忽不定的七情六欲的桎梏。--爱因斯坦
9楼2013-10-31 20:46:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

laugh_sky

新虫 (初入文坛)

引用回帖:
7楼: Originally posted by baobiao007 at 2013-10-31 19:16:00
clear;clc;

str = dir('e:\laowu2013-07-23\matlab code\My Programs\tests\RayleighWave_Viscoelastic\muller\*.bin'); % 替换成你自己的文件所在目录
strx = struct2cell(str);
sn = length(strx(1,);
...

这段程序运行出现Error using ==> movefile
No matching files were found,是什么问题
10楼2015-04-27 13:24:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 rjie88 的主题更新
信息提示
请填处理意见