dir
列出文件夹内容
说明
示例
查看文件夹的内容
列出文件夹的内容。
创建文件夹 myfolder
,其中包含文件 myfile1.m
、myfile2.m
和 myfile3.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.m
、myfile2.m
和 myfile3.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 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.m
、myfile2.m
和 myfile3.m
。
mkdir myfolder movefile myfile1.m myfolder movefile myfile2.m myfolder movefile myfile3.m myfolder
获取 myfolder
中文件的列表。MATLAB® 以结构体数组形式返回信息。
MyFolderInfo = dir('myfolder')
MyFolderInfo=5×1 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
输入参数
输出参数
提示
要排除
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
的结果。