문제
DVD인지 프로그래밍 방식으로 어떻게 결정할 수 있습니까?
나는 현재 권한 555의 디렉토리를 찾고 있지만 약간 덜 해킹 된 것을 선호합니다. 감사!!
$ 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>
다른 팁
코코아의 경우 nsworkspace를 사용할 수 있습니다 MountedRemovablemedia : 볼륨 목록과 nsworkspace 사용을 얻으려면 getfilesysteminfo : ... 각 장착 된 볼륨에 대한 자세한 정보를 얻으려면
- (BOOL)getFileSystemInfoForPath:(NSString *)fullPath
isRemovable:(BOOL *)removableFlag
isWritable:(BOOL *)writableFlag
isUnmountable:(BOOL *)unmountableFlag
description:(NSString **)description
type:(NSString **)fileSystemType
시스템 호출을 원한다면 사용할 수 있습니다. STATF 같은 정보로.
int statfs(const char *path, struct statfs *buf);
제휴하지 않습니다 StackOverflow