[英]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.