macOS打印/迭代特定安装卷中的所有文件

时间:2018-01-18 08:52:13

标签: objective-c macos cocoa filesystems mount

我的目标是迭代属于特定文件系统的所有文件,并对每个文件应用回调函数。

目前,我正在使用递归C函数,它打印特定文件夹中的所有文件,并在子文件夹上递归调用。

不幸的是,我从来没有设法达到getmntinfo给出的这个mount所包含的文件总数,也许是因为有些文件没有准备好的常规文件(意思是软链接,管道,套接字等)。 。)

是否存在用于从特定挂载点迭代所有数据文件的高级Objective-C框架?

我理想的方法是以升序的inode id迭代文件,而不是根据它们在文件夹层次结构中的位置。

我发现我可以使用enumeratorAtURL创建文件枚举器但是如果此URL / Path包含挂载到远程文件系统的子文件夹...我只对包含的挂载文件感兴趣。

1 个答案:

答案 0 :(得分:1)

我建议您查看C级fts(3)函数(Apple's documentation)。这些可以限于单个设备,并提供确定特殊文件所需的信息。使用Objective-C中的它们非常简单。

HTH