# 一次性 解决已被 macOS 使用,不能打开的问题.

最近买了一个移动硬盘,但是在 MacBook 中 老是出现 文件被 macOs 使用,不能打开的问题

通过网络查询到的解决方案 都是通过命令行清除多余的文件属性。来实现。但是我的移动硬盘中上百个文档,经常使用,而且还需要对接 win10 系统进行拷贝文档.
所以:
1. 修改移动硬盘的存储格式,不靠谱.
2. 每次编辑命令行不靠谱.
然后想到了 利用 mac 中的自动工具来实现。将命令编辑为脚本。添加到系统菜单中。来快速解决.

下面是我的操作步骤。如果有更方便的解决方案,或者更好的脚本编写方式,请大神们指点.

第一步
创建自动操作

选择快速操作文件类型

选择工作流程的类型

第二步:
配置整个自动化流程

先创建一个请求确认,避免错误点击,造成的无意义操作.

创建一个确认对话框,文字内容随便输入,这只是我的一个参考.

然后添加输入参数。例如选择了文件夹或者文件后,需要将文件地址传递到脚本中来是,所以我们需要添加传参

选择添加一个路径变量,添加成功后的效果如下

到这一步为止,我们的自动化文件路径已经能够传递进来了。下一步我们开始编辑操作脚本

第三步
编辑脚本命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
read -p "input a val:" INIT_PATH
function read_dir(){
IFS=$(echo -en "\n\b")
for file in ` ls $1 `
do
if [ -f $1"/"$file ];
then
xattr -c $1"/"$file
else
read_dir $1"/"$file
fi
done
}

if [ -f "$INIT_PATH" ];
then
xattr -c "$INIT_PATH"
else
read_dir $INIT_PATH
fi

效果如图所示

其实到这一步就可以了。但是如果希望能够有一个完成提示的话可以再添加一个
完成通知.

到现在整个自动操作的功能就编辑完成了:
完整版如下图

完成后 可以点击右上角的 运行按钮 进行运行一遍,主要是检查 shell 脚本有没有错误.

默认操作会是遍历你的桌面路径.

第四步
保存自动流程

点击 存储进行保存操作.

然后就是干活的时候到了。通过访达 打开你的移动硬盘中的文件,选择被占用的文件,右击 快速操作下面就会出现你刚才添加的 清理 OS 文件占用的选项了。点击就行

清理完成后 右上角就会弹出提示了

当前支持
1. 选择单个文件 解除 OS 占用.
2. 选择文件夹,解除 OS 占用.
3. 选择磁盘根目录,解决整个磁盘的 OS 占用.(不建议,文件越多,耗时越长.)

清理的速度根据你的电脑性能,和文件数量来决定.