测试文件夹为:

clear;close all;clc;
%%
%程序实现的功能
%检查指定路径中的子文件夹中的文件名中是否带有空格,并去掉文件名中的空格
%%
%程序中用到的之前不清楚的函数如下
%)strfind(a,b):即找a中是否有b,如果a中有b,则输出b的位置序号。没有输出空数组
%)isempty(a):判断数组是否为空
%)strrep(a,b,c):就是把a中所有出现的b换为c
%)movefile(a,b):a移动为b,如C:\test1.jpg移动为C\test2.bmp
%%
tic;
disp('程序开始执行');
%%%%%%需要更改的参数(即文件夹路径)%%%%%%%%%%%%%%%%%%%%%%%%%% path='C:\Users\yangsu\Desktop\test2'; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
count=;%用于统计总共找到几个文件名错误的文件
dirList=dir(path);%读取文件夹列表,这种方式读取会保留原文件.(在结构体中第一个)和上一层目录..(在结构体第二个)
countList=length(dirList);%文件夹个数
fid = fopen([path,'\','errorlist.txt'], 'w');%打开数据文件夹时,对应的错误文件名输出列表
for numList=:countList%文件夹从3开始
% if(length(dirList(numList).name)>=)%根据这个过滤掉在此文件夹可能存在的txt文件
% continue;
% end
fileName=dir([path,'\',dirList(numList).name]);%读取子文件夹
fileSum=length(fileName);%统计子文件夹中的文件个数
disp(['开始搜索文件夹',dirList(numList).name]);
for fileNum=:fileSum%文件从3开始
judge=strfind(fileName(fileNum).name,' ');
if isempty(judge)
continue;
else
fprintf(fid,'%s', '找到的含有空格的文件为:');
fprintf(fid,'%s', [dirList(numList).name,'/',fileName(fileNum).name]);%输入:子文件/图片名称
fprintf(fid,'\n');%换行
count=count+;
disp(['找到一个带有空格的文件,文件完整路径为',' ',dirList(numList).name,'/',fileName(fileNum).name]);
%后来想到添加的功能找到了带有空格的文件,把这个文件的文件名中的空格去掉作为一个新的文件名保存
newFileName=strrep(fileName(fileNum).name,' ','');
fprintf(fid,'%s', '修改后的文件为:');
fprintf(fid,'%s', [dirList(numList).name,'/',newFileName]);%输入:子文件/图片名称
fprintf(fid,'\n');%换行
fprintf(fid,'\n');%换行
fulloriginalname=[path,'\',dirList(numList).name,'\',fileName(fileNum).name];
fullchangename=[path,'\',dirList(numList).name,'\',newFileName];
movefile(fulloriginalname,fullchangename);
disp(['去除文件名中的空格后,文件完整路径为',' ',dirList(numList).name,'/',newFileName]);
disp(' ');
end
end
end
fclose(fid);%关闭文本文件
fclose('all');%关闭所有连接,防止没关掉的情况
disp(['程序执行完毕','总共找到',' ',num2str(count),' ','个文件名中带有空格的文件']);
toc;

matlab输出窗口:

并生成一个errorlist.txt,记录修改信息。

修改后原来含有空格的文件名没有空格了。

MATLAB检查指定路径中的子文件夹中的文件名中是否带有空格的更多相关文章

  1. Linux C 读取文件夹下所有文件(包括子文件夹)的文件名【转】

    转自:https://www.cnblogs.com/xudong-bupt/p/3504442.html 本文:http://www.cnblogs.com/xudong-bupt/p/350444 ...

  2. Android中读取assets文件夹中的子文件夹内容

    文件结构如下:assets/info/info AssetManager am = this.getResources().getAssets(); InputStream input = null; ...

  3. Java中新建子文件夹和新建文件

    File file = new File("地址"); file.mkdirs(); //新建文件夹,当没有父文件夹时,但是不会自动创建父文件夹 file.mkdirs(); // ...

  4. ci 3.0 默认路由放在子文件夹 无法访问的解决办法

      比方说你想配置默认路由为: $route['default_controller'] = 'index/home'; ci3.0之前是可以放在 controllers中的子文件夹中的,但是到了ci ...

  5. 键盘录入一个文件夹路径,统计该文件夹(包含子文件夹)中每种类型的文件及个数,注意:用文件类型(后缀名,不包含.(点),如:"java","txt")作为key, 用个数作为value,放入到map集合中,遍历map集合

    package cn.it.zuoye5; import java.io.File;import java.util.HashMap;import java.util.Iterator;import ...

  6. Java 遍历指定文件夹及子文件夹下的文件

    Java 遍历指定文件夹及子文件夹下的文件 /** * 遍历指定文件夹及子文件夹下的文件 * * @author testcs_dn * @date 2014年12月12日下午2:33:49 * @p ...

  7. Matlab批量获取子文件夹与文件名

    批量得到父文件夹下所有子文件夹的路径的MATLAB函数. function [SubFolders] = GetFolders(ParentFolder) %GetFolders % 函数功能为获取父 ...

  8. Android程序函数 将assets文件夹下的文件复制到手机的sd卡中(包括子文件夹)

    最近在做个功能是将asset文件夹下的所有文件(包括子文件)全部拷贝出来到指定目录下.所用的方法无非是用AssetManager.但是这里 有个问题是也要讲子文件夹和子文件都要拷贝出来.到网上Goog ...

  9. shell 批量压缩指定文件夹及子文件夹内图片

    shell 批量压缩指定文件夹及子文件夹内图片 用户上传的图片,一般都没有经过压缩,造成空间浪费.因此须要编写一个程序,查找文件夹及子文件夹的图片文件(jpg,gif,png),将大于某值的图片进行压 ...

随机推荐

  1. 如何在yii的controller中调用外部action

    问题: 在yii中,一个controller会包含若干个action.有时为了重用或代码管理等目的,我们希望这些action可以单独定义成一个类,然后在controller中使用.那么在yii中要如何 ...

  2. 使用Redis实现用户积分排行榜的教程

    转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/129.html?1455808528 排行榜功能是一个很普遍的需求.使用 ...

  3. weka数据预处理

    Weka数据预处理(一) 对于数据挖掘而言,我们往往仅关注实质性的挖掘算法,如分类.聚类.关联规则等,而忽视待挖掘数据的质量,但是高质量的数据才能产生高质量的挖掘结果,否则只有"Garbag ...

  4. OC3_MyRect

    // // MyRect.h // OC3_MyRect // // Created by zhangxueming on 15/6/9. // Copyright (c) 2015年 zhangxu ...

  5. Mybatis 系列2

    上篇文章 写了一个Demo简单体现了一下Mybatis的流程.本次,将简单介绍一下Mybatis的配置文件: 上次例子中,我们以 SqlSessionFactoryBuilder 去创建 SqlSes ...

  6. Java8-2-Lambda表达式实战-一句话实现Map中按照Value排序

    在上一讲中, 我们着重的讲了表达式的一些基础知识和基本的使用, 今天我们来实战一把, 对Map的Value值排序进行简化. 在以前的思路我们的做法如下: /** * * Map根据value排序; * ...

  7. identifier of an instance of **** was altered from **** to *****

    在用hibernate getSession().save(entity)方法保存数据库表实体类的时候报这个异常 我的需求是一个请求要往数据库表插两条数据,根据传值判断做了for循环调两次save() ...

  8. redis中key过期事件

    刚到新公司一个月左右,有个新需求,想做定时任务,比如在用户注册时间的3天后推送用户一条消息. 从刚开始脑子里面闪现的数据库轮询,立马否定掉(浪费资源),再到linux系统的定时任务,但是当用户量过大时 ...

  9. 阻塞队列 BlockingQueue

    在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题.通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利.本文 ...

  10. php-fpm如何优化进程数

    参考链接: php-fpm进程数优化