macOS 一键弹出所有 DMG 和 ISO:用快捷指令清理磁盘映像

一个易于上手的 macOS 快捷指令,用于一次弹出已挂载的 DMG、ISO 等磁盘映像,同时不主动处理普通外置硬盘。

作者: 小景

文章来源: https://jingyuan-zheng.github.io/zh/p/eject-disk-images/

本文介绍 Eject Disk Images:一个易于上手的 macOS 快捷指令,可以一次弹出当前已挂载的 DMG、ISO 和其他由 macOS 磁盘映像服务管理的镜像,同时不会主动处理普通外置磁盘。

在 Mac 上安装软件时,我们经常需要双击 .dmg 文件。软件安装完成后,安装镜像却还会留在 Finder 的侧边栏里。只剩一个时手动推出并不麻烦,但连续安装几个 App 后,逐个清理就显得有些琐碎。这个开源项目就是为了解决这一步:把清理多个磁盘映像变成一次快捷操作。

Eject Disk Images 是什么?

Eject Disk Images 是一个 macOS 快捷指令,同时提供对应的 AppleScript 源码。它会查看 macOS 当前通过 DiskImageshdiutil 管理的磁盘映像,然后一次处理符合条件的镜像。

它适合处理常见的:

  • .dmg 软件安装镜像;
  • .iso 光盘镜像;
  • 其他已经挂载,并出现在 macOS 磁盘映像列表中的镜像。

如果你刚刚安装完几个 Mac 软件、临时打开过 ISO,或者 Finder 里残留了多个安装卷宗,这个快捷指令可以帮你快速恢复整洁的桌面和侧边栏。

它会弹出什么?不会弹出什么?

这个项目特意把安全边界写得很清楚:

  • 它只处理 macOS 磁盘映像服务管理的镜像;
  • 不会主动弹出普通 U 盘、移动硬盘或外置 SSD;
  • 默认使用正常的、非强制的弹出方式;
  • 如果某个镜像正在被文件或应用使用,macOS 可能会保留它,不会强行中断当前操作。

因此,它适合清理已经用完的安装镜像,不适合强行移除正在使用的存储设备或文件。如果有镜像没有成功弹出,请先关闭正在使用它的文件或应用,再运行一次快捷指令。

安装快捷指令

最快的方式是打开下面的 iCloud 安装链接:

通过 iCloud 获取 Eject Disk Images 快捷指令

macOS 打开“快捷指令”App 后,点击“获取快捷指令”或“添加快捷指令”即可。你也可以前往 Eject-Disk-Images GitHub 仓库,下载其中的 Eject Disk Images.shortcut 文件,再用“快捷指令”App 导入。

这个项目只使用 macOS 自带的工具,不需要另外安装第三方软件。快捷指令版本需要系统自带的“快捷指令”App。

怎么使用?

  1. 打开“快捷指令”App,或者通过 Spotlight、Siri、菜单栏和键盘快捷键运行它。
  2. 安装完 DMG 软件、使用完 ISO,或发现 Finder 中积累了多个磁盘映像后,运行 Eject Disk Images
  3. 等待 macOS 弹出当前可以安全分离的镜像。
  4. 如果有镜像因为正在使用而保留,请关闭相关文件或应用,再运行一次。

你不需要先在 Finder 中逐个选中卷宗。快捷指令每次运行时都会重新查看当前已挂载的磁盘映像,因此即使一次积累了多个安装镜像,也可以一起清理。

也可以使用 AppleScript

仓库中还提供了可阅读的 Eject Disk Images.scpt 源码。你可以用 macOS 自带的“脚本编辑器”打开并运行它;如果希望以后像普通 App 一样双击使用,也可以在“脚本编辑器”中将 AppleScript 导出为应用程序。

对大多数人来说,快捷指令版本最简单。如果你希望查看原理、自己修改流程,或者想把它保存成一个独立 App,AppleScript 版本会更合适。

原理简介

简单来说,项目会先询问 macOS:当前有哪些磁盘映像由 hdiutil 管理?然后读取这些镜像对应的设备标识,再交给 macOS 正常的分离流程处理。它读取的是磁盘映像列表,而不是把所有已连接的卷宗都扫一遍,所以能够把安装镜像和普通外置存储区分开来。

这也是它比“把所有磁盘都弹出”的做法更稳妥的原因:它只针对当前的问题——清理已经用完的 macOS 磁盘映像。项目源码采用 MIT 许可证,欢迎前往 GitHub 仓库 下载、查看和使用。

隐私政策 网站地图 仪表盘
Hugo & Stack v4.0.3
本站已运行 0