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
Était-ce utile?

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

scroll top