【matlab】matlab dir function

dir

列出文件夹内容

语法

dir
dir name
listing = dir(name)

说明

dir 列出当前文件夹中的文件和文件夹。

dir name 列出与 name 匹配的文件和文件夹。如果 name 为文件夹,dir 列出该文件夹的内容。使用绝对或相对路径名称指定 namename 参数的文件名可以包含 * 通配符,路径名称可以包含 *** 通配符。与 ** 通配符相邻的字符必须为文件分隔符。

listing = dir(name) 返回 name 的属性。

示例

列出文件夹的内容。

创建文件夹 myfolder,其中包含文件 myfile1.mmyfile2.mmyfile3.m

mkdir myfolder
movefile myfile1.m myfolder
movefile myfile2.m myfolder
movefile myfile3.m myfolder

列出 myfolder 中的文件。

输入:

dir myfolder

结果:

.          ..         myfile1.m  myfile2.m  myfile3.m 

查找与指定名称匹配的文件

列出包含词语 my 且扩展名为 .m 的所有文件。

创建文件夹 myfolder,其中包含文件 myfile1.mmyfile2.mmyfile3.txt

mkdir myfolder
movefile myfile1.m myfolder
movefile myfile2.m myfolder
movefile myfile3.txt myfolder

列出 myfolder 中符合条件的文件。

输入:

cd myfolder
dir *my*.m

输出:

myfile1.m  myfile2.m 

在子文件夹中查找文件

列出当前文件夹中和当前文件夹的所有子文件夹中的所有文件。

创建文件夹 myfolder1,其中包含以下文件和文件夹:

myfile1.m
myfolder2
     myfile2.m
     myfolder3.m
         myfile3.m
mkdir myfolder1
mkdir myfolder1/myfolder2
mkdir myfolder1/myfolder2/myfolder3

movefile myfile1.m myfolder1
movefile myfile2.m myfolder1/myfolder2
movefile myfile3.m myfolder1/myfolder2/myfolder3

列出 myfolder1 中和 myfolder1 的子文件夹中扩展名为 .m 的所有文件。

输入:

cd myfolder1
dir **/*.m

输出:

Files Found in Current Folder:

myfile1.m  

Files Found in: myfolder2

myfile2.m  

Files Found in: myfolder2/myfolder3

myfile3.m  

在返回结构体中查找信息

myfolder 的文件夹列表返回给变量 MyFolderInfo

创建文件夹 myfolder,其中包含文件 myfile1.mmyfile2.mmyfile3.m

mkdir myfolder
movefile myfile1.m myfolder
movefile myfile2.m myfolder
movefile myfile3.m myfolder

获取 myfolder 中文件的列表。MATLAB 以结构体数组形式返回信息。

MyFolderInfo = dir('myfolder')
MyFolderInfo = 5x1 struct array with fields:
    name
    folder
    date
    bytes
    isdir
    datenum

创建结构体索引以访问特定项目。

输入:

MyFolderInfo(3).name

输出:

ans = 
'myfile1.m'

查找文件的上次修改日期

获取文件上次修改日期和时间的日期序列值。

使用 dir 命令返回的结构体的 datenum 字段。不要使用 datenum 函数将结构体的 date 字段转换为数字。datenum 函数的结果根据具体区域设置而有所不同。在这种情况下,应使用 datenum 字段。

输入:

MyFileInfo = dir('myfile1.m');
FileDate = MyFileInfo.datenum
FileDate = 7.3647e+05

输入参数

name - 文件或文件夹名称
字符向量|字符串向量

输出参数

listing - 文件属性
结构体数组

文件属性,以 nx1 结构体数组形式返回,其中 ndir 命令返回的文件和文件夹的数量。

下表显示了结构体中的字段。

字段名称 说明
name 文件或文件夹名称 char
folder 文件或文件夹的位置 char
date 修改日期时间戳 char
bytes 文件大小(以字节为单位) double
isdir 如果名称为文件夹,则为 1;如果名称为文件,则为 0 logical
datenum 修改日期是一个日期序列值。 double

提示

  • 要排除 dir 命令返回的无效条目,请使用 cellfun 函数。
MyFolderInfo = dir; 
MyFolderInfo = MyFolderInfo(~cellfun('isempty', {MyFolderInfo.date})); 

若运行带有输出参数的 dir 且结果包括不存在的文件或 dir 因为某种其他原因无法查询的文件,会出现无效条目。在这种情况下,dir 返回以下默认值。

date: '' 
bytes: [] 
isdir: 0 
datenum: [] 

dir 查询的符号链接指向不存在的目标时,UNIX® 平台上常出现无效条目。不存在的目标是指被移动、被删除或被重命名的目标。

  • 要获取 Microsoft Windows 平台上可用驱动器的列表,请在命令行中使用 DOS net use 命令。
dos('net use')

或者键入

[s,r] = dos('net use')

MATLAB 返回字符数组 r 的结果。

另请参阅

cd | fileattrib | isfolder | ls | mkdir | rmdir | what

参考链接

参考链接

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章