如何在 OS X 中恢复已变成包的文件夹

与所有软件一样,macOS 也无法避免偶尔出现的错误或问题。虽然这种情况很少发生,但 macOS 上的文件夹偶尔会从显示为常规文件夹变为显示为包,例如用于安装新 macOS 应用程序的文件夹。这也可能是设计使然,尤其是在您创建新软件时。

值得庆幸的是,如果需要,在Mac上恢复文件夹是一个简单的过程。有几种方法可以做到这一点,但最简单的方法是使用Mac 终端(Mac Terminal)应用程序。以下是在Mac(Mac)上恢复文件夹的方法,无论格式如何。

如何在 OS X 中恢复已变成包的文件夹

使用终端恢复 Mac 上的文件夹(Restore a Folder on Mac Using The Terminal)

Mac Finder 应用程序(Mac Finder app)会尝试自动检测文件或文件夹的真正用途,以便知道如何正确处理它。如果对文件夹应用了错误的属性,那么Finder会将您的文件夹视为一个包,并且不允许您访问其中的文件。

如果您的文件夹具有错误的扩展名,例如.app(.app),它也会执行此操作。要使这些说明生效,您需要安装macOS Xcode 开发人员工具(macOS Xcode Developer Tools),因为默认情况下 macOS 上未安装getfileinfosetfile命令。(setfile)

  • 要从 macOS 文件夹中删除这些属性,请打开终端(Terminal )应用程序(Launchpad > Other > Terminal)并使用cd命令进入包含“损坏”文件夹的目录。 
  • 此问题的主要原因是has bundle属性位,因此要检查这一点,请在终端(Terminal)应用程序中键入getfileinfo -aB 文件夹(getfileinfo -aB folder),将文件夹替换为您要检查的文件夹的位置。(folder)如果该命令返回1,则该属性已应用于您的文件夹,这意味着它需要被删除。

带有命令 getfileinfo 的终端

  • 要从文件夹中删除has bundle属性位并恢复访问权限,请在终端应用程序中键入setfile -ab folder ,将(setfile -a b folder)文件夹(folder )替换为您的文件夹位置。 
  • 键入getfileinfo -aB folder(替换folder)以在此之后检查has bundle属性状态 - 如果返回0,则该属性已被删除。

带有命令 setfile 和 getfileinfo 的终端

删除has bundle属性后,尝试访问Finder应用程序中的文件夹,该文件夹位于(Finder)DockLaunchpad中的图标。如果您仍然无法访问该文件夹,请检查您的文件夹是否没有附加异常扩展名。

  • 在Finder(Finder)中找到文件夹,右键单击(right-click)并按Get Info以加载您的属性信息。

在右键菜单中获取信息

  • 这将加载一个单独的窗口,其中包含有关您的文件夹的其他信息。单击(Click)名称和扩展(Name & Extension)子类别以查看文件夹的“真实”名称。如果它具有文件扩展名(例如.app),请将其删除并按键盘上的Enter键保存。

已选择名称和扩展名 i

  • Finder将要求您确认是否要从文件夹中删除扩展名。单击删除(Remove)按钮进行确认。

删除扩展确认窗口

删除扩展后,您的文件夹应该在Finder(Finder)中恢复正常,让您可以正常打开它。 

您可能还想访问正版 macOS 包(如PKGDMG文件)中的文件和文件夹。如果是这种情况,最简单的方法是将内容提取到新文件夹中。

使用终端提取 Mac 文件夹(Extracting Mac Folders Using The Terminal)

真正的 macOS 软件包有多种文件格式,包括PKGDMG文件。您如何恢复或提取这些格式的文件夹略有不同。如果您想从真正的 macOS 包文件中恢复文件夹,终端(Terminal)应用程序允许您执行此操作。

这些方法假定您正在尝试从打包的PKGDMG文件中访问文件夹。如果文件已损坏(或不是真正的PKGDMG文件),则这些说明将不起作用。

  • 如果要从DMG文件中恢复文件夹,则需要先将其挂载为虚拟驱动器。您可以通过从 Launchpad > Other > Terminal终端(Terminal)来做到这一点。 
  • 键入hdiutil attach file.dmg,将file.dmg替换为(file.dmg)DMG文件的位置和文件名,然后按Enter键运行命令。

终端窗口中的 hdultil 命令

  • 您的DMG文件夹将作为文件夹安装在 macOS 驱动器上的Volumes目录下。(Volumes)要将DMG文件的内容复制到新的 macOS 文件夹,请键入cp -r /Volumes/File/ /Users/Username/Folder,将File替换为(File)DMG文件的原始名称,并将Username/Folder替换为要复制文件。

终端窗口中的 cp 命令

  • 键入hdiutil info以找到挂载的DMG文件的驱动器标识符,然后键入hdiutil detach /dev/drive以卸载DMG文件,将/dev/drive替换为正确的设备标识符。

终端窗口中的 hdutil 命令

您的DMG文件的内容将恢复到一个新文件夹,供您访问。

  • 要将文件和文件夹从PKG文件提取到标准 macOS 文件夹,请打开终端(Terminal )应用程序(Launchpad > Other > Terminal)。 
  • 从那里输入pkgutil -expand /location/file.pkg newpkgfolder,将/location/file.pkg PKG文件的位置和文件名,并将newpkgfolder替换为正确的提取文件夹。

终端窗口中的 pkgutil

PKG包文件的内容将被提取到您指定的位置。

处理 MacOS 文件和文件夹(Handling MacOS Files & Folders)

如果您不知道如何在Mac上恢复文件夹,请先尝试这些方法。在许多情况下,您可以通过修复扩展名或删除某些文件属性来恢复损坏的 macOS 文件夹。如果您有PKGDMG格式的正版 macOS 包文件,您可以使用(DMG)终端(Terminal)应用程序提取内容。

但是,并非每个文件夹都可以恢复。您应该考虑使用 Time Machine 备份您的 Mac,(backing up your Mac with Time Machine)以确保您始终可以检索您的文件,即使将来某个文件夹损坏或无法访问。



About the author

我是一名 Windows 专家,在软件行业工作了 10 多年。我有使用 Microsoft Windows 和 Apple Macintosh 系统的经验。我的技能包括:窗口管理、计算机硬件和声音、应用程序开发等等。我是一位经验丰富的顾问,可以帮助您充分利用 Windows 系统。



Related posts