测试文件夹为:

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,记录修改信息。

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

最新文章

  1. POST方式提交表单时,后台接受实体如果继承了父类,将无法映射表单对应数据
  2. div+css页面右侧底部悬浮层
  3. CoreAnimation 之CAReplicatorLayer
  4. C# 依赖注入
  5. 对CPU做下性能测试
  6. elasticsearch 之IK分词器安装
  7. LeetCode: Edit Distance && 子序列题集
  8. JS 页面加载触发事件 document.ready和onload的区别(转)
  9. Javascript Framework Scenario
  10. SpringMVC(三) —— 参数绑定和数据回显
  11. MVC5系列——布局视图
  12. OSPF相关知识与实例配置【第一部分】
  13. 以太坊RLP用法-go-ethereum学习
  14. 5.移植uboot-设置默认环境变量,裁剪,并分区
  15. apache无法启动报错No space left on device
  16. 微信公众号授权,支付,退款总结【shoucang】
  17. [编程笔记]第一章 C语言概述
  18. Dockerfile构建容器---构建本地tomcat
  19. Mac通过type-c接口无法识别移动硬盘
  20. 2017-2018-2 《网络对抗技术》20155322 Exp8 web基础

热门文章

  1. (转)Maven学习总结(一)——Maven入门 安装使用
  2. vue 新增时清除表单验证注意事项
  3. box-sizing border-box 的理解
  4. 修改Visual Studio项目中程序集信息默认公司名称的两种方法
  5. map文件的使用
  6. python操作txt文件中数据教程[1]-使用python读写txt文件
  7. Solr记录-solr检索和查询数据
  8. bzoj千题计划226:bzoj2763: [JLOI2011]飞行路线
  9. 关于 xcode5 的no matching provisioning profiles found
  10. 服务器环境配置安装(mysql+redis+nodejs+nginx)