matlab先运行子文件名,如何用matlab实现文件的重命名

范例

**

首先在D盘建立一个名为example的excell表,现在想将其重新命名为2018_example,这时候需要将matlab的工作路径改为excell文件所在的路径,(excell文件如果在 ‘D:\’ 路径下,则matlab的工作路径同样也需改为 ‘D:\’) 并输入以下代码…

clc

clear

oldname = 'example.xlsx';

newname = '2018_example.xlsx';

eval(['!rename' 32 oldname 32 newname]);

% 或 eval(['!ren' 32 oldname 32 newname]);

% ren 及 rename 都为windows 操作系统中修改文件名的命令

运行此段代码之后我们便会发现位于 ‘D:\’ 路径下名为example.xlsx的文件被重新命名为2018_example.xlsx

在这里有一点需要注意,即matlab的工作路径一定要与要重新命名的文件所在路径一致。

**

原理解释

**

这段代码所执行的并不是matlab内部的函数,而是windows操作系统中一个名为rename的函数,这个函数的功能是给文件重命名,感兴趣的童鞋们可以在matlab命令行中输入 !cmd,这时候我们会发现我们进入了windows操作系统的doc中,这时候我们可以试试在windows操作系统中实现将之前已经改为2018_example.xlsx的文件改回example.xlsx,这时候我们只需要在跳出的windows操作系统中输入rename 2018_example.xlsx example.xlsx 即可,这时候我们会发现文件又被重新命名为resample,在这里要注意,在执行此段命令时,matlab的工作路径一定要与文件所在路径一致。按ctrl+c即可退出此模式。

我们注意到,在rename前面有一个!,!的意思是执行操作系统命令,具体解释可以访问如下链接

https://ww2.mathworks.cn/help/matlab/matlab_prog/matlab-operators-and-special-characters.html,

如果觉得还不能很好的理解!,可以在matlab命令行中输入!notepad,我们会发现弹出记事本的对话框。

eval 后面位于括号里面的实际上是一段字符串,其中32也是一种特殊字符,其代表ASCII的第32位,为空格,前面的eval为执行文本中的表达式 https://ww2.mathworks.cn/help/matlab/ref/eval.html,

同样的我们也可以在命令行中输入eval([‘A = 1’]);我们会发现在变量列表中出现了一个A

延伸

如果想批量修改文件名,可以参考以下代码,在‘D:\example\’下有五个不同命名的excell文件,这时候我们想在每个文件前面都加上‘2018_’,我们可以输入以下代码…

path = 'D:\example\';

files = dir([path '.xlsx']);

n = length(files);

for ifile = 1:n

oldname = files(ifile).name;

newname = ['2018_' oldname];

eval(['!rename' 32 oldname 32 newname]);

end

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值