繁体   English   中英

OS X:DVD是哪个卷?

[英]OS X: which volume is a DVD?

如何以编程方式确定DVD是哪些(如果有)已安装的卷?

我目前正在寻找权限为555的目录,但是我希望它的hacky少一些。 谢谢!!

$ ls -l /Volumes/
total 12
dr-xr-xr-x  4 mh    gfx    136 Aug  3  2001 DQRMX2102
lrwxr-xr-x  1 root  admin    1 Apr  6 15:09 Macintosh HD -> /
drwxrwxr-x  9 mh    gfx    374 Feb  3 12:55 data

您正在使用哪种编程语言/工具包?

如果您在Objective-C中使用Cocoa,则可以使用NSWorkspace

NSArray *volumes = [[NSWorkspace sharedWorkspace] mountedRemovableMedia];

如果要从命令行或脚本或其他内容中查找, diskutil应该会派上用场。

$ diskutil info -plist /Volumes/Foobar
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
...snip...
    <key>OpticalMediaType</key>
    <string>CD-ROM</string>
...snip...
</dict>
</plist>

对于Cocoa,可以使用NSWorkspace MountedRemovableMedia:获取卷列表,并使用NSWorkspace getFileSystemInfo:...获取有关每个已安装卷的更多信息。

- (BOOL)getFileSystemInfoForPath:(NSString *)fullPath 
                     isRemovable:(BOOL *)removableFlag 
                      isWritable:(BOOL *)writableFlag 
                   isUnmountable:(BOOL *)unmountableFlag 
                     description:(NSString **)description 
                            type:(NSString **)fileSystemType

如果要进行系统调用,则可以在相同的信息上使用statfs

int statfs(const char *path, struct statfs *buf);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM