题
我在寻找一种方式来获得只挂载点安装的磁盘映像的路径的.dmg
我想要写喷射磁盘映像和象垃圾一样清除所附的.dmg一个“简单”搜索服务。喷射是微不足道的,但我在一个不知如何找出的.dmg的路径,只给定安装点。
磁盘工具似乎不知道或不说。
这是一个为脚本,所以AppleScript-或基于壳的建议是优选的。
解决方案
使用hdiutil info
获取有关当前安装的图像信息。然后
使用hdiutil detach /Mount/Point
卸除所有文件系统,并分离图像。
您需要解析来自hdiutil info
输出,如果多个图像被安装找到正确的图像路径。它可能会更加强劲使用的plist输出格式hdiutil info -plist
并运行到,比方说,一个python脚本的Property List Suite从System Events
> plistlib 或一个AppleScript。
下面是一个快速和肮脏的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
其他提示
启动终端,执行:
$ cd /Volumes
$ hdutil info
疑似DMG-文件的位置将显示图像路径下
cd
到该位置,然后执行:
$ ls filename
卸载体积在Finder中,最后在终端:
$ rm filename
好运。
不隶属于 StackOverflow