Получите путь .dmg от точки монтирования

Я ищу способ получить .dmg путь смонтированного образа диска только с его точкой монтирования.

Я хочу записать "простой" сервис Средства поиска, который извлекает образ диска и повреждает сопровождение .dmg. Извлечение тривиально, но я в замешательстве относительно того, как выяснить путь .dmg, учитывая просто точку монтирования.

diskutil, кажется, не знает или не говорит.

Это для сценария, таким образом, AppleScript-или основанные на оболочке предложения предпочтены.

14
задан wbg 22 December 2009 в 23:26
поделиться

1 ответ

Используйте hdiutil info для получения информации о монтируемых в настоящее время изображениях. Затем . Используйте hdiutil detach /Mount/Point для демонтажа всех файловых систем и удаления образа.

Вам нужно будет разобрать выходную информацию из hdiutil info, чтобы найти правильный путь к изображению, если смонтировано несколько изображений. Вероятно, будет более надежным использовать формат вывода plist hdiutil info -plist и запустить его, скажем, в питоновый скрипт с помощью plistlib или AppleScript, используя Property List Suite из System Events.

Вот быстрый и грязный питоновый скрипт, чтобы дать вам идею. Легко изучить варианты, используя интерпретатор питона:

>>> 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
16
ответ дан 1 December 2019 в 13:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: