如何设置 Mac OS X 的默认压缩格式?

如何设置 Mac OS X 的默认压缩格式?

Mac OS X 使用 zip 作为其默认压缩格式。它可以通过上下文菜单(按住 Control 键单击/右键单击)方便地使用。我想将此默认设置调整为 bzip2。

我可以通过命令行执行此操作......

tar cfj something.tar.bz2 something

...我甚至可以将其包装在 Automator 操作或类似操作中,但最好只调整默认值。有什么想法吗?

短暂性脑缺血发作

答案1

/System/Library/CoreServices/Archive 实用程序有一个存档格式的首选项设置,但它似乎只能控制由存档实用程序创建的存档,而不能控制由 Finder 创建的存档。此外,它的格式选项有 Zip、常规 (cpio 存档) 和压缩 (gzipped cpio) — tar 和 tgz 不在列表中。

它并不是您所寻找的,但 Snow Leopard 改进了“服务”系统,使其实际上对此类事情有用。运行 Automator(我知道,但请听我说...),创建一个服务而不是工作流,将“服务接收选择”设置为“文件和文件夹”,然后从工作流 11 指向您的第二个操作中复制,并以某个合理的名称保存。然后在 Finder 中选择一个文件,右键单击,然后查看您刚刚创建的服务的上下文菜单底部。它也可以在 Finder 工具栏中的操作(齿轮)菜单下以及 Finder > 服务菜单下找到。您可以在系统偏好设置 > 键盘 > 键盘快捷键 > 服务中为其创建键盘快捷键(然后找到您的服务,单击不可见的右列,然后键入您想要的快捷方式)。

答案2

扩展 Gordon Davisson 的答案,您可以在 Automator 服务中使用如下脚本:

set -e
[[ $# = 1 ]] && name=${1##*/} || name=untitled
base=${1%/*}
cd "$base"
i=2
[[ -e $name.tbz ]] && name="$name-$i"
while [[ -e $name.tbz ]]; do name="${name%??}-$((++i))"; done
COPYFILE_DISABLE= tar --exclude .DS_Store -cjf ./"$name".tbz -- "${@#"$base"/}"
open -R ./"$name".tbz

设置COPYFILE_DISABLE指示tar删除扩展属性和 ACL,而不是创建._文件。请参阅这个问题

tar档案通常包含单个目录下的所有文件,但如果脚本接收多个文件作为输入,它就不会为这些文件创建这样的目录。

答案3

看起来/System/Library/CoreServices/Archive Utility.app似乎没有任何用于设置存档格式的偏好设置。

我建议你下载并安装清洁档案在您的 dock 中。运行一次并将 bzip2 设置为默认值,然后每当您想要压缩某些内容时,只需将其拖到 dock 中的图标上,而不是单击 Ctrl 键即可。

我猜它与自动化操作没有太大区别,但它可以成为一个方便的工具,因为它可以设置为自动排除 .DS_Store 文件之类的东西。

答案4

将文件夹移至桌面。右键单击文件夹。在“FINDER”中左键单击文件。下拉菜单打开。选择 - 压缩“文件名”。

相关内容