我正在寻找一种方法来获取已安装的磁盘映像的.dmg路径,只有它的挂载点.
我想写一个"简单"的Finder服务,它会弹出磁盘映像并破坏随附的.dmg.弹出是微不足道的,但是我不知道如何找出.dmg的路径,只给出了挂载点.
diskutil似乎不知道或不是说.
它适用于脚本,因此首选AppleScript或基于shell的建议.
Ned*_*ily 16
使用hdiutil info以获取有关当前安装的图像信息.然后使用hdiutil detach /Mount/Point卸载所有文件系统,并分离图像.
hdiutil info如果安装了多个图像,则需要解析输出以找到正确的图像路径.使用plist输出格式hdiutil info -plist并将其运行到例如使用plistlib的python脚本或使用Property List Suitefrom 的AppleScript 可能会更加健壮System Events.
这是一个快速而又脏的python脚本,可以给你一个想法.使用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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8348 次 |
| 最近记录: |