ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

如何删除 macOS 压缩包中的隐藏文件?

2020-01-13 16:00:12  阅读:261  来源: 互联网

标签:__ 文件 macOS MACOSX 压缩文件 Store 隐藏 压缩包


如何删除 macOS 压缩包中的隐藏文件?在工作中,压缩打包文件是不可缺少的一项工作。为了避免文件的损坏和缺失,我们通常在macOS系统中,把多个文件或文件夹压缩后进行传输,我们一般使用访达(Finder)右键菜单中的压缩功能,十分方便。然而却有个问题,就是压缩后的文件中包含 __MACOSX、.DS_Store 等 macOS 系统隐藏文件。

13151818_6c303aa907.jpeg

如果是在 macOS 系统上进行解压或查看,这些文件是隐藏的,没有什么影响。但如果是发送给 Windows 系统用户,则解压后这些文件就会显示出来,可能引起对方的疑惑,造成不必要的麻烦。

13150801_d9e50e4ad5.png

压缩文件中的隐藏文件

其实,我们可以使用 macOS 自带的自动化软件自动操作(Automator)来解决这个问题。

解决方法
这里,可以用Oka解压专家,解压后双击安装。

之后,如果需要去除 Zip 压缩文件中的系统隐藏文件,直接选择其右键菜单服务项目中的「净化Zip压缩文件」即可。处理完成时,还会发出提醒。

13151153_c9ff4a2b93.gif

演示

原理

使用「自动操作」打开后,可以看到其内容并不复杂。首先,其工作范围设定在“访达中的文件或文件夹”,这样就只会在这些位置的右键菜单中出现。当然,你也可以根据自己的需要进行修改。具体的文件处理操作则是由 Shell 脚本完成的。处理完成后发出通知提醒。

13151320_8172c91a2c.png

内部流程

Shell 脚本内容如下,同样是使用的 macOS 自带命令,不需要额外安装软件也无需网络,支持多文件批量操作。脚本的大致流程为:对选中的每个文件,判断是否为 zip 压缩文件,如果是则进行净化操作。


# 循环处理选择的多个文件
for f in "$@"
do
# 获取文件类型,以确保是 Zip 压缩文件
fileType=$(file -bI "$f")
if [[ $fileType =~ "application/zip*" ]]; then
# 删除 __MACOSX 与 .DS_Store 文件
zip -d "$f" \*__MACOSX\* || true
zip -d "$f" \*.DS_Store\* || true
fi
done


结语
其实,__MACOSX 与.DS_Store 是 macOS 系统用来保存文件夹自定义图标、其中文件位置等元数据信息的。如果 Zip 压缩文件始终在 macOS 上使用,这些文件就不会显示出来,也不必去除这些文件。

你也可以使用 Keka、BetterZip 等压缩软件,它们都具有压缩时排除 __MACOSX 与.DS_Store 等文件的功能。


标签:__,文件,macOS,MACOSX,压缩文件,Store,隐藏,压缩包
来源: https://blog.51cto.com/14370425/2466396

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有