matlab 重命名文件和文件夹
1、查看文件存在 dir()
clear
clc cd('C:\Documents and Settings\Administrator\桌面\matlab\test'); % 设置当前目录
% 此时test文件夹中有:文件夹1, 文件夹2, 文件1.txt, 文件2.txt movefile('1.txt', '11.txt'); % 把1.txt剪切成11.txt(.txt不存在了),实际上相当于改名
copyfile('2.txt', '22.txt'); % 把2.txt复制成22.txt(.txt依然存在) movefile('11.txt', ''); % 把11.txt剪切到文件夹1中
copyfile('22.txt', ''); % 把22.txt复制到文件夹2中
一直用movefile重命名的总是觉得有点不对,速度很慢
movefile函数实际上干的是用新文件名复制一遍文件,然后把旧的再删了。。。。
所以用这个做重命名在文件特别多数据量特别大的时候其实是非常非常慢的。。。。
顺便说一下,剪切也是大坑(但可能安全些)(下面说的都是在同一个盘符下操作,剪切文件,不同的盘之间剪切文件较慢,无提升)用movefile干剪切的事。也是先复制过去再把原来的删了,这样做只有一个好处,安全——中途被打断的话源文件还在,但是遇上稍微大一点的文件效率实在太低。
clear all
clc
folder_name=uigetdir; % 手动打开要修改名称的文件夹的上一层文件夹
folder=dir(folder_name);
oldname=cell(length(folder)-,);
for ii=:length(folder)
oldname{ii-}=folder(ii).name;
end % 提取出要修改文件夹的名称
newname=cell(length(oldname),);
for ii=:length(oldname)
a=oldname{ii};
newname{ii}=a(:end); % 新的文件夹名称
movefile([folder_name '\' oldname{ii}],[folder_name '\' newname{ii}]) % 利用movefile函数进行修改
end
file = dir('*.bmp');
len = length(file);
for i = : len
oldname = file(i).name;
newname = strcat('RH_', oldname);
% '!'的意思是调用系统函数,32是ASCII码值,表示空格
eval(['!rename' oldname newname]);
end
首先用dir函数获得工作目录下所有bmp文件信息,返回的file是一个结构体,里面包含了文件名、修改时间等信息,我们用的就是第一个域名字name,接着获得bmp文件的个数,然后就是一个循环,用strcat函数将“RH_”与原文件名连接起来,然后重点就是这个eval函数的用法,查看eval函数的帮助可以知道,这个函数实际上就是执行将括号里表达式中的matlab代码(eval(EXPRESSION) evaluates the MATLAB code in the string EXPRESSION),“!”的意思是调用Windows系统函数(Linux下好像是将rename改为system),比如这里的rename函数,实际上eval括号里的意思就是这样,只不过是调用的系统函数,32是ASCII码,表示空格,你也可以使用逗号代替
clc;
clear all;
path='C:\\Users\\ranji\\Desktop\\hello\\';
file = dir(strcat(path,'*.txt'));
len = length(file);
for i = : len
oldname = file(i).name;
newname = strcat('RH_', num2str(i));
% '!'的意思是调用系统函数,32是ASCII码值,表示空格
%eval(['!rename' oldname newname]);
eval (['!rename', oldname, newname]);
end %未成功
Matlab如何创建文件夹
new_folder = 'C:/test'; % new_folder 保存要创建的文件夹,是绝对路径+文件夹名称
mkdir(new_folder); % mkdir()函数创建文件夹;这里一定记得 new_folder = 'C:/test'; 中是斜杠‘/’,而不是反斜杠。否则会报错。
我们再看一个例子: 在top_folder下面创建一个resize文件夹
top_folder = 'C:/test'; % 第一层文件夹名称
mkdir(top_folder); % 创建第一层文件夹
second_folder = sprintf('%s/%s', top_folder, 'resize'); % 构造第二层文件夹名称
mkdir(second_folder); % 创建第二层文件夹
% 之后我们可以看到在 C:/test 文件夹下,多了一个 resize 文件夹。关于sprintf()函数的用法看下一章介绍。
% 注意以上代码一行行可拷贝到命令行执行,后者简历.m文件后执行
new_folder='C:/Users/ranji/Desktop/hello';
mkdir(new_folder);
send_folder=strcat(new_folder,'\','world');
mkdir(send_folder);
实际测试应用:
%%%%%%%%%%%%%%批量修改文件夹名称
% close all;clear all;clc;
% path='G:\100万采样\敦南CIS第四套\value-5\version-4\direction-0\'; %修改一级文件夹名称
% fileDIR=dir(path); %获取路径信息 %第0层文件夹direction
% filenum=length(fileDIR); %该文件夹下的子文件夹个数,从3开始
% for p=:filenum
% filename=fileDIR(p).name; %第p个子文件夹的文件夹名
% path1=strcat(path,filename,'\');
% fileDIR1=dir(strcat(path1,'*')); %第一层文件夹1-
% filenum1=length(fileDIR1);
% for q=:filenum1
% filename1=fileDIR1(q).name;
% path2=strcat(path1,filename1,'\');
% DIR=dir(strcat(path2,'*.bmp')); %获取该子文件夹中所有bmp格式的图像
% len=length(DIR);
%
% cd(path2);
% if len>
% for i=::len-
% name1=DIR(i+).name;
% name2=DIR(i+).name;
% movefile(name1,strcat(num2str(i/),'_down.bmp'));
% movefile(name2,strcat(num2str(i/),'_up.bmp'));
% end
% end
% end
% end % clear all
% clc
% %folder_name=uigetdir;
% folder_name='G:\100万采样\敦南CIS第四套\value-5\version-4\direction-0\';
% % 手动打开要修改名称的文件夹的上一层文件夹
% folder=dir(folder_name);
% oldname=cell(length(folder)-,);
% for ii=:length(folder)
% oldname{ii-}=folder(ii).name;
% end
%
% % 提取出要修改文件夹的名称
% newname=cell(length(oldname),);
% for ii=:length(oldname)
% a=oldname{ii};
% %newname{ii}=a(:end);
% % 新的文件夹名称
% movefile([folder_name '\' oldname{ii}],[folder_name '\' num2str(ii)])
% % 利用movefile函数进行修改
% end %重命名文件夹名称
clear all
clc
close all;
folder_name='G:\100万采样\5元采样20000张\';
fileDir=dir(folder_name);
folderNum=length(fileDir); %第一级目录 direction
for p=:folderNum
fileName=fileDir(p).name;
path1=strcat(folder_name,fileName,'\');
fileDIR1=dir(strcat(path1,'*')); for ii=:length(fileDIR1)
movefile([path1 '\' fileDIR1(ii).name],[path1 '\' num2str(ii-2)])
end
end
matlab 重命名文件和文件夹的更多相关文章
- Win10家庭版重命名Administrator用户文件夹
需要将Windows系统默认的Administrator帐号文件夹改名为我们自定义的名称.. 但是Win10家庭版找不到组策略gpedit.msc 根据微软官方有关Win10各版本操作系统中对于组策略 ...
- ( 转)Ubuntu下创建、重命名、删除文件及文件夹,强制清空回收站方法
Ubuntu下创建.重命名.删除文件及文件夹,强制清空回收站方法 mkdir 目录名 ——创建一个目录 rmdir 空目录名 ——删除一个空目录 rm 文件名 文件名 ——删除一个文件或多个文件 rm ...
- 如何在Linux下重命名多个文件
在Linux中,当你想要改变一个文件名,使用mv命令就好了.然而mv不能使用通配符重命名多个文件.可以用sed.awk或者与xargs结合使用来处理多个文件的情况.然而,这些命令行即繁琐又不友好,并且 ...
- [Python] python3 文件操作:从键盘输入、打开关闭文件、读取写入文件、重命名与删除文件等
1.从键盘输入 Python 2有两个内置的函数用于从标准输入读取数据,默认情况下来自键盘.这两个函数分别是:input()和raw_input(). Python 3中,不建议使用raw_input ...
- Linux命令技巧:如何在Linux下重命名多个文件
我知道我可以用mv命令重命名文件.但是当我想重命名很多文件怎么办?如果为每个文件都这么做将会是很乏味的.有没有办法一次性重命名多个文件? 在Linux中,当你想要改变一个文件名,使用mv命令就好了.然 ...
- Python重命名和删除文件
Python重命名和删除文件: rename(当前的文件名,新文件名): 将当前的文件名修改为新文件名 程序: # os.rename('旧名字',’新名字‘) import os os.rename ...
- [CentOs7]搭建ftp服务器(3)——上传,下载,删除,重命名,新建文件夹
摘要 上篇文章介绍了如何为ftp添加虚拟用户,本篇将继续实践如何上传,下载文件. 上传 使用xftp客户端上传文件,如图所示 此时上传状态报错,查看详情 从错误看出是应为无法创建文件造成的.那么我们就 ...
- Java创建、重命名、删除文件和文件夹(转)
Java的文件操作太基础,缺乏很多实用工具,比如对目录的操作,支持就非常的差了.如果你经常用Java操作文件或文件夹,你会觉得反复编写这些代码是令人沮丧的问题,而且要大量用到递归. 下面是的一个解决方 ...
- python学习笔记--文件重命名,删除及文件夹
文件重命名 import os os.rename('123.txt','456.txt') 删除文件 >>> import os >>> os.remove('4 ...
随机推荐
- net 架构师-数据库-sql server-002-工具
本章讲述的工具包括: SQL Server 联机丛书 SQL Server配置管理器 SQL Server Management Studio SQL Server Business Intellig ...
- [2019沈阳网络赛D题]Dawn-K's water(点分治)
题目链接 题意为求出树上任意点对的距离对3取余的和. 比赛上听到题意就知道是点分治了,但是越写越不对劲,交之前就觉得会T,果不其然T了.修修改改结果队友写了发dp直接就过了Orz. 赛后想了想维护的东 ...
- 使用git命令删除branch
使用git删除server上的一个branch注意事项: 1. 使用命令:git push origin –delete 分支名 (分支名称需要去掉origin,如果有), git branch ...
- vue项目如何监听窗口变化,达到页面自适应?
[自适应]向来是前端工程师需要解决的一大问题--即便作为当今非常火热的vue框架,也无法摆脱--虽然elementui.iview等开源UI组件库层出不穷,但官方库毕竟不可能满足全部需求,因此我们可以 ...
- 深度学习之group convolution,计算量及参数量
目录: 1.什么是group convolution? 和普通的卷积有什么区别? 2.分析计算量.flops 3.分析参数量 4.相比于传统普通卷积有什么优势以及缺点,有什么改进方法? 5.refer ...
- Java第三阶段复习
Java第三阶段复习: 1. Spring 1. IOC: 定义:Inverse Of Controller:反转控制,将bean对象的创建和对象之间的关联关系的维护由原来我们自己创建.自己维护反转给 ...
- Spring基础06——依赖注入的一些细节
1.字面值 可用字符串表示的值,可以通过<value>元素标签或value属性进行注入.基本数据类型及其封装类,String类等类型都可以采取字面值注入的方式.若字面值包含特殊字符,可以使 ...
- deletefile 与KILL
1.Kill 语句 从磁盘中删除文件.语法Kill pathname必要的 pathname 参数是用来指定一个文件名的字符串表达式.pathname 可以包含目录或文件夹.以及驱动器.说明在 Mic ...
- Fokker–Planck equation
Fokker–Planck equation:https://en.wikipedia.org/wiki/Fokker%E2%80%93Planck_equation 随机微分方程:https://e ...
- Explain 参数详解,重点部分已经全部完成,还有少数几个参数没不理解没标注。
Explain 参数详解,重点部分已经全部完成,还有少数几个参数没不理解没标注.http://naotu.baidu.com/file/cdb631355392e317e1d925dc2e48f592 ...