문제

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);
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top