OS X: quel volume est un DVD?
Question
Comment puis-je déterminer par un programme qui (le cas échéant) des volumes montés sont un DVD?
Je regarde actuellement un répertoire avec des autorisations 555 mais je préférerais quelque chose d'un peu moins aki. Merci !!
$ 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
La solution
Quelle langue / boîte à outils de programmation utilisez-vous?
Si vous utilisez Cocoa en Objective-C, vous pouvez NSWorkspace :
NSArray *volumes = [[NSWorkspace sharedWorkspace] mountedRemovableMedia];
Si vous voulez savoir à partir de la ligne de commande ou d'un script ou quelque chose, diskutil
devrait être utile.
$ 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>
Autres conseils
Pour le cacao, vous pouvez utiliser NSWorkspace mountedRemovableMedia: pour obtenir une liste des volumes et l'utilisation NSWorkspace getFileSystemInfo: ... pour obtenir plus d'informations sur chaque volume monté.
- (BOOL)getFileSystemInfoForPath:(NSString *)fullPath
isRemovable:(BOOL *)removableFlag
isWritable:(BOOL *)writableFlag
isUnmountable:(BOOL *)unmountableFlag
description:(NSString **)description
type:(NSString **)fileSystemType
Si vous voulez faire des appels système, vous pouvez utiliser