Question

Je cherche un moyen d'obtenir le chemin .dmg d'une image de disque monté avec juste son point de montage.

Je veux écrire un service de recherche « simple » qui éjecte l'image disque et trashes le .dmg qui l'accompagne. Le éjectant est trivial, mais je suis à une perte sur la façon de trouver le chemin du .dmg, étant donné que le point de montage.

diskutil ne semble pas savoir ou ne dit pas.

Il est pour un script, si AppleScript- ou suggestions à base de coquille sont préférés.

Était-ce utile?

La solution

Utilisez hdiutil info pour obtenir les informations sur les images actuellement montées. ensuite utiliser hdiutil detach /Mount/Point pour démonter tous les systèmes de fichiers et détacher l'image.

Vous devez analyser la sortie de hdiutil info pour trouver le droit chemin de l'image si plusieurs images sont montées. Il sera probablement plus robuste pour utiliser le format de sortie de plist hdiutil info -plist et exécuter ce dans, disons, un script python avec plistlib ou un AppleScript utilisant le Property List Suite de System Events.

Voici un script python rapide et sale pour vous donner une idée. Il est facile d'explorer les options en utilisant l'interpréteur Python:

>>> import plistlib
>>> from subprocess import Popen, PIPE
>>> output = Popen(["hdiutil", "info", "-plist"], stdout=PIPE).communicate()[0]
>>> pl = plistlib.readPlistFromString(output)
>>> for image in pl['images']:
...   for se in image['system-entities']:
...       if se.get('mount-point') == '/Volumes/blah':
...          print image['image-path']
/Path/To/blah.dmg

Autres conseils

Terminal de départ, faites:

$ cd /Volumes
$ hdutil info

L'emplacement des fichiers DMG Suspects montrera sous-chemin de l'image

cd à cet endroit, et faire:

$ ls filename

le volume Démontez dans le Finder, et enfin dans le Terminal:

$ rm filename

Bonne chance.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top