【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;如果名称为文件,则为 0logical
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

参考链接

参考链接

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值