|
|
1
4
一个简单的建议: 抓取项目的路径,查看其前缀是否为“/Volumes/”。如果是,那么它就在外部设备上。
|
|
|
2
4
检查/Volumes中的路径的问题是,它还包括内部分区,如/Volumes/WINDOWS。此外,虽然很少见,但外部驱动器可以具有/Volumes以外的装载点
更正确的方法是使用
您可以使用以下命令从FSRef获取FSVolumeRefNum
使用volumeRef,您可以获取卷参数:
_params是一个
|
|
|
3
0
您是只查看非引导驱动器还是外部驱动器(大多数时候它们的意思是一样的,但在具有多个分区或多个内部驱动器的系统(Mac Pro)上可能会有所不同。 如果您只需要非内部驱动器,可以查看If路径是否以可移动驱动器装载点为前缀。 与Dave的代码类似:
正面-忽略内部驱动器(如果这是你想要的)。
这实际上需要一些工作——如果内部驱动器装载点与外部驱动器具有相同的前缀,则可能会返回误报——例如,内部驱动器装载在“/Volumes/drive_2”,外部驱动器装载在”/Volumes/derive“。 |