1、 filesep
用於返回當前平台的目錄分隔符,Windows是反斜杠(\),Linux是斜杠(/)。
2、 fullfile
用於將若干字符串連接成一個完整的路徑。例如:
>> f=fullfile('D:','Matlab','example.txt')
f=D:\Matlab\example.txt
(在Windows中,“D:\”表示D盤,“D:”表示目錄)
3、 fileparts
用於將一個完整的文件名分割成4部分:路徑,文件名,擴展名,版本號。例如:
>> f=fullfile('D:','Matlab','example.txt');
>>[pathstr,name,ext,versn]=fileparts(f)
pathstr=D:\Matlab
name=example
ext=.txt
versn=’’
4、 pathsep
返回當前平台的路徑分隔符。Windows是分號(;),Linux是冒號(:)。
5、 exist
可以用於判斷目錄或者文件是否存在,同時不同的返回值有不同的含義。例如:
>> f=fullfile('D:','Matlab','example.txt');
>>exist(f)
ans=2
>>exist('D:\Matlab')
ans =7
6、 which
可以通過一個函數或腳本名稱得到它的完整路徑,同時還能處理函數重載的情況,例如:
>> which abs(0)
C:\MATLAB7\toolbox\matlab\elfun\@double\abs.bi % double method
>> which abs(single(0))
C:\MATLAB7\toolbox\matlab\elfun\@single\abs.bi % single method
7、 isdir
判斷一個路徑是否代表了一個目錄,例如:
>> p='D:\Matlab';
>> f=fullfile(p,'example.txt');
>> isp=isdir(p)
isp=1
>> isf=isdir(f)
isf=0
8、 dir
用於列出一個目錄的內容,返回值為結構體數組類型,包含如下部分:name:文件或目錄的名稱;date:修改日期;bytes:文件大小;isdir:是否是目錄。例如:
>> p='D:\Matlab';
>>files=dir(p)
files =
8x1 struct array with fields:
name
date
bytes
isdir
9、 cd
用於切換當前工作目錄。例如:
>>cd('c:/toolbox/matlab/demos') %切換當前工作目錄到demos
>>cd .. %切換當前工作目錄到matlab
10、 pwd
用於當前工作目錄的路徑。例如:
>> pwd
ans =C:\MATLAB7\work
11、 path
用於對搜索路徑的操作。例如:
<
<
<
<
<
12、 addpath和rmpath
用於對matlab搜索路徑的添加和刪除。例如:
<
<
13、 what
用於顯示出某目錄下存在哪些matlab文件;若輸入完整路徑,可列出指定目錄下的文件。例如:
<
<
<
其中dirname是要查找的路徑的名字,路徑在matlab的搜索路徑內時,沒有必要輸入全名,只輸入最后或最后兩級就夠了。
14、 path2rc
保存當前matlab的搜索路徑到pathdef.m文件中。
轉自:matlab對文件目錄路徑的操作
在一個matlab的學習群里,有人提出了這么一個問題:在matlab里如何讀取多信文件的數據,例如,有許多數據,存放在不同的txt文件里。
我的辦法是把這些文件的文件名按一定的規律命名,假如有一百個數據文件,則可以把這些文件分別命名為:filename1.txt,filename2.txt,...,fielname100.txt,在讀取的時候則可以使用循環:
for i = 1:100
fileName = ['filename' num2str(i) '.txt'];
x = load(filiName);
end
但另一位朋友給出了另一個解決的辦法,無需對數據文件的文件名進行修改,就是文件名無須有規律,他的辦法是:
A = dir(fullfile('d:\datafile','*.txt'));
這個語句是把存放數據文件的目錄d:\datafile下的所有txt文件列出來,並把這些文件名的信息存放到一個變量A中,A是一個結構體變量,只要對A進行循環就可以讀取到所有文件的數據了。