从挂载点获取.dmg的路径
我正在寻找一种方法来获取已安装磁盘映像的 .dmg 路径及其安装点。
我想编写一个“简单”的 Finder 服务,用于弹出磁盘映像并销毁随附的 .dmg。弹出是微不足道的,但我不知道如何找出 .dmg 的路径,只给出安装点。
diskutil 似乎不知道或没有说。
它适用于脚本,因此首选 AppleScript 或基于 shell 的建议。
I'm looking for a way to get the .dmg path of a mounted disk image with just its mount point.
I want to write a "simple" Finder service that ejects the disk image and trashes the accompanying .dmg. The ejecting is trivial, but I'm at a loss as to how to figure out the path of the .dmg, given just the mount point.
diskutil doesn't seem to know or isn't saying.
It's for a script, so AppleScript- or shell-based suggestions are preferred.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用
hdiutil info
获取有关当前安装的映像的信息。然后使用
hdiutil detach /Mount/Point
卸载所有文件系统,并分离映像。如果安装了多个图像,您需要解析 hdiutil info 的输出以找到正确的图像路径。使用 plist 输出格式
hdiutil info -plist
并将其运行到例如带有 plistlib 或使用系统事件
中的属性列表套件
的AppleScript。这是一个快速但肮脏的 python 脚本,可以给你一个想法。使用 python 解释器很容易探索选项:
Use
hdiutil info
to get the information about currently mounted images. Thenuse
hdiutil detach /Mount/Point
to dismount all file systems, and detach the image.You'll need to parse the output from
hdiutil info
to find the right image-path if multiple images are mounted. It will probably be more robust to use the plist output formathdiutil info -plist
and run that into, say, a python script with plistlib or an AppleScript using theProperty List Suite
fromSystem Events
.Here's a quick and dirty python script to give you an idea. It's easy to explore options using the python interpreter:
启动终端,执行:
可疑 dmg 文件的位置将显示在图像路径
cd
下到该位置,然后执行:在 Finder 中卸载卷,最后在终端中执行:
祝你好运。
Start Terminal, do:
The location of suspected dmg-files will show up under image-path
cd
to that location, and do:Unmount volume in Finder, and finally in Terminal:
Good luck.