matlab 提取文件路径名称 带后缀与不带后缀

1、带后缀

fileFolder = fullfile(matlabroot,'mathclass','raccoon');    % 遍历文件夹下所有符合条件的文件
dirOutput = dir(fullfile(fileFolder,'ra*.jpg'));   % 提取路径  

fileNames = {dirOutput.name}';   % 获得符合条件文件名

Matlab dir命令

Matlab使用dir函数获得指定文件夹下的所有子文件夹和文件,并存放在在一种为文件结构体数组中.

dir函数可以有调用方式为:

* dir('.')列出当前目录下所有子文件夹和文件 

* dir('G:\Matlab')列出指定目录下所有子文件夹和文件

* dir('*.m')列出当前目录下符合正则表达式的文件夹和文件

 

2、不带后缀

global pathname  imname;

%fileneme 指的就是带文件后缀的文件名,如‘050.bmp’

%pathname指的是文件路径名

[filename, pathname] = uigetfile('*.bmp', 'Input filename');

%寻找后缀名前面的标志‘.’

i = find('.'==filename);

%去除文件后缀,提取单纯的文件名

imname = filename(1: i-1);

%以读的形式,打开文件. ‘r’=reading

fid1 = fopen(strcat(pathname, imname, '.bmp'),'r');

%判断文件是否已经被打开

if(fid1 == -1)
    msgbox('Input File or Path is not correct', 'Warning', 'warn');
    return;
end
%open a file to read
I1 = imread(strcat(pathname, imname, '.bmp'));
I2 = I1(:,:,1)/3 + I1(:,:,2)/3 + I1(:,:,3)/3;
I = imshow(I2);

 

参考:
http://www.cnblogs.com/cherler/p/3727713.html

http://blog.youkuaiyun.com/shenziheng1/article/details/50933435

### MATLAB中去除文件名的后缀MATLAB环境中,可以通过多种方法来获取扩展名的文件名。一种常用的方式是利用`fileparts`函数,该函数能够分离出文件路径中的各个组成部分,包括文件夹路径、基础文件名(即含扩展名的部分)以及文件扩展名。 ```matlab [file_path, base_name, ext] = fileparts('/path/to/your/file.ext'); disp(base_name); ``` 上述代码展示了如何通过指定完整的文件路径来获得无扩展名的基础文件名[^1]。 另一种方式是在已知具体文件的情况下使用字符串处理函数组合来移除特定位置之后的内容作为新的文件名部分。例如: ```matlab originalFileName = 'example.txt'; indexDot = find(originalFileName == '.', 1, 'last'); % 查找最后一个点的位置 if ~isempty(indexDot) fileNameWithoutExtension = originalFileName(1:indexDot-1); else fileNameWithoutExtension = originalFileName; end disp(fileNameWithoutExtension); ``` 这段脚本会查找给定字符串中最后出现的小数点,并据此截断得到去除了扩展名后的纯文件名[^4]。 当涉及到交互式选取文件并希望立即显示其基本名称时,则可结合`uigetfile`前面提到的技术一起工作: ```matlab [filename, pathname] = uigetfile('*.bmp', 'Select a File'); fullPathName = fullfile(pathname, filename); [~, namePart, ~] = fileparts(fullPathName); disp(namePart); ``` 此段程序允许用户从图形界面选择一个.bmp类型的图片文件,并打印出所选文件除去扩展名的名字[^2]。 对于批量处理多个具有相同模式的文件而言,还可以借助于`dir`命令配合循环结构完成更复杂任务,如下所示的例子是从某目录下的所有.jpg图像文件中提取它们各自的根名字[^3]: ```matlab fileFolder = '/path/to/images/'; files = dir(fullfile(fileFolder, '*.jpg')); names = {files.name}'; for k = 1:length(names) [~, rootName, ~] = fileparts(names{k}); fprintf('%s\n', rootName); end ``` 以上就是几种同的途径可以在MATLAB里有效地去掉文件名后面的扩展名从而只保留主要部分的方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

uncle_ll

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值