MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   资料存档 (https://www.labfans.com/bbs/forumdisplay.php?f=72)
-   -   调用MATLAB的dir函数后如何过滤隐藏文件 (https://www.labfans.com/bbs/showthread.php?t=26532)

poster 2019-12-14 20:13

调用MATLAB的dir函数后如何过滤隐藏文件
 
使用MATLAB,我需要从目录中提取“有效”文件的数组。有效的意思是,它们一定不能是目录,也不能是隐藏文件。过滤目录非常容易,因为dir返回的结构具有一个称为isDir的字段。但是,我还需要过滤掉MacOSX [I]或[/I] Windows可能放在目录中的隐藏文件。最简单的[I]跨平台[/I]方法是什么?我不太了解隐藏文件的工作方式。



[B]回答:[/B]

您可以结合使用[URL="http://www.mathworks.com/help/techdoc/ref/dir.html"]DIR[/URL]和[URL="http://www.mathworks.com/help/techdoc/ref/fileattrib.html"]FILEATTRIB[/URL]来检查隐藏文件。

folder = uigetdir('please choose directory'); fileList = dir(folder); %# remove all folders isBadFile = cat(1,fileList.isdir); %# all directories are bad %# loop to identify hidden files for iFile = find(~isBadFile)' %'# loop only non-dirs %# on OSX, hidden files start with a dot isBadFile(iFile) = strcmp(fileList(iFile).name(1),'.'); if ~isBadFile(iFile) && ispc %# check for hidden Windows files - only works on Windows [~,stats] = fileattrib(fullfile(folder,fileList(iFile).name)); if stats.hidden isBadFile(iFile) = true; end end end %# remove bad files fileList(isBadFile) = [];

[url=https://stackoverflow.com/questions/5234341]更多&回答...[/url]


所有时间均为北京时间。现在的时间是 20:24

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.