gpt4 book ai didi

macos - 从挂载点获取.dmg的路径

转载 作者:行者123 更新时间:2023-12-02 08:23:31 26 4
gpt4 key购买 nike

我正在寻找一种方法来获取已安装磁盘镜像的 .dmg 路径及其安装点。

我想编写一个“简单”的 Finder 服务,用于弹出磁盘镜像并销毁随附的 .dmg。弹出是微不足道的,但我不知道如何在仅给出安装点的情况下找出 .dmg 的路径。

diskutil 似乎不知道或没有说。

它用于脚本,因此首选基于 AppleScript 或 shell 的建议。

最佳答案

使用hdiutil info获取当前挂载镜像的信息。然后使用 hdiutil detach/Mount/Point 卸载所有文件系统,并分离镜像。

如果安装了多个图像,您需要解析 hdiutil info 的输出以找到正确的图像路径。使用 plist 输出格式 hdiutil info -plist 并将其运行到带有 plistlib 的 python 脚本中可能会更健壮。或使用系统事件中的属性列表套件的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

关于macos - 从挂载点获取.dmg的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1949879/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com