macos系统 打不开压缩文件_优雅地(划掉)在macOS上压缩RAR文件

2020年程序猿节不简单,因为:

>>>2020-1024

码农小伙伴们同乐啊,人生得意须尽欢,莫使秃头空对月 (*'▽'*)

醒醒吧你这个专业生产shit mountain的菜狗也配自称码农?

忘了在哪听说的了,

一个优秀的程序员,如果他做的任务需要重复三次以上时,那么他就应该用代码去完成。(原话肯定没我说的这么拉胯233333)

于是就想趁着今天写点能用程序简化工作的方法。

学校的程序设计课要求上传rar文件,可惜mac系统里少有很好的原生解压软件。我自己上学期课上都是用终端直接压缩的,就像这样[1]

rar a -ep1 a.rar helloworld.py

但是昨天学弟说看到有人做了个脚本来实现解压。macOS下解压文件海了去了没意思,如果能做做压缩的还是不错的。于是就扔下热统课本开始折腾。

先放成品效果图(系统环境macOS Catalina 10.15.7):

4c3c4517333b9041a4ea8757247bdd76.png
我真的不懂流形

首先需要安装homebrew。homebrew的安装方法网上资料很全,在这里不赘述。

打开终端,用homebrew安装rar程序包。

brew install rar

其实直接到rarlab网站上下载安装包安装也可以,不过我比较懒。能一行代码解决的事干嘛要折腾半天呢。

这样之后就阔以像上面那样敲代码压缩出rar辣。

但是每回都要敲代码属实麻烦,而且也不容易记下来(我才不会说上周演示用终端压缩文件的时候自己把命令敲错了呢)。这时候我们可以用macOS的自带软件「自动操作」来避免每次压缩重复敲代码。如果在启动台-效率里找不到,也可以跟Siri说“给爷把自动操作打开”(划掉)直接command+space输入「自动操作」。

ee405c93ea826ad3ada0ba97588ec430.png
在启动台-效率里可以找到

「自动操作」说来话长。我第一次接触Mac OS X是Snow Leopard(彼时Macintosh还是「动物世界」,如今已成「名胜景点」),那时候的「自动操作」还叫Automator,就像那时候的Finder不叫「访达」。我听有人说iOS上的Workflow是来自Automator的灵感,当然后来workflow被果子收购,更名「捷径」又改名成了现在的「快捷指令」,也算是iOS和macOS上的操作体验越来越一致了。

在「自动操作」中,选择「快速操作」。点击「选取」。

旧版macOS里是「服务」,想不通果子为啥整天改名,科技以换名为本吗?

9e704aa1136ce08f321f763147fa743e.png

我们是要让自动操作帮我们敲终端命令,所以在左边选取「运行Shell脚本」。

右边分别选择工作流程收到当前「文件或文件夹」位于「任何应用程序」。在「运行Shell脚本」里面选择Shell:「/bin/zsh」[2],传递输入:「作为自变量」。

然后在下方输入Shell脚本:

PATH="/usr/local/bin:$PATH"
rar a -ep1 "$(dirname "$@")"/a.rar "$@"

这里有必要说明一下:第一行中的「PATH=」指定了PATH路径,这样才能保证程序知道下一行中的rar指令要调用谁。可以粗浅地理解"$@"是我们上面选择的「传递输入:作为自变量」[3]。因为调用Shell脚本默认在系统的用户文件夹下,所以这里a.rar需要用绝对路径来描述。

rar指令里,a是Add files to archive[4],-ep1指Exclude base directory from names[5]

f64db49e32f93b43ba950d8592a1c5f1.png
最终设置如图

摁command+S保存。命名的名称就是之后菜单上会显示的名称,这个任取即可。以后压缩文件再也不用敲代码啦。

最后成品效果感觉还不错。一个小问题是好像不能递归压缩「a.rar」,不过谁没事弄这个啊hhh。

参考

  1. ^把helloworld.py文件压缩到a.rar里
  2. ^Catalina里默认Shell为zsh
  3. ^菜鸟教程里有更详细的解释: https://www.runoob.com/linux/linux-shell-passing-arguments.html
  4. ^如果目录下已经有a.rar,会自动把新文件添加进去,同时旧的文件得以保留。
  5. ^在终端里输入rar回车可以看详细的指令和用途
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值