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

最近买了一个移动硬盘,但是在MacBook中 老是出现 文件被macOs 使用,不能打开的问题
一次性 解决已被 macOS 使用,不能打开的问题._第1张图片
通过网络查询到的解决方案 都是通过命令行清除多余的文件属性.来实现. 但是我的移动硬盘中上百个文档,经常使用,而且还需要对接win10系统进行拷贝文档.
所以:
1.修改移动硬盘的存储格式,不靠谱.
2.每次编辑命令行不靠谱.

然后想到了 利用mac中的自动工具来实现.将命令编辑为脚本.添加到系统菜单中.来快速解决.

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

第一步

创建自动操作
一次性 解决已被 macOS 使用,不能打开的问题._第2张图片
选择快速操作文件类型
选择工作流程的类型一次性 解决已被 macOS 使用,不能打开的问题._第3张图片

第二步:

配置整个自动化流程

先创建一个请求确认,避免错误点击,造成的无意义操作.
一次性 解决已被 macOS 使用,不能打开的问题._第4张图片
创建一个确认对话框,文字内容随便输入,这只是我的一个参考.一次性 解决已被 macOS 使用,不能打开的问题._第5张图片
然后添加输入参数. 例如选择了文件夹或者文件后,需要将文件地址传递到脚本中来是,所以我们需要添加传参
一次性 解决已被 macOS 使用,不能打开的问题._第6张图片
选择添加一个路径变量, 添加成功后的效果如下
一次性 解决已被 macOS 使用,不能打开的问题._第7张图片
到这一步为止,我们的自动化文件路径已经能够传递进来了.下一步我们开始编辑操作脚本

第三步

编辑脚本命令

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

效果如图所示
一次性 解决已被 macOS 使用,不能打开的问题._第8张图片
其实到这一步就可以了. 但是如果希望能够有一个完成提示的话可以再添加一个
完成通知.
一次性 解决已被 macOS 使用,不能打开的问题._第9张图片

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

一次性 解决已被 macOS 使用,不能打开的问题._第10张图片
完成后 可以点击右上角的 运行按钮 进行运行一遍,主要是检查shell脚本有没有错误.

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

第四步

保存自动流程
一次性 解决已被 macOS 使用,不能打开的问题._第11张图片点击 存储进行保存操作.

然后就是干活的时候到了. 通过访达 打开你的移动硬盘中的文件, 选择被占用的文件,右击 快速操作下面就会出现你刚才添加的 清理OS文件占用的选项了. 点击就行一次性 解决已被 macOS 使用,不能打开的问题._第12张图片

清理完成后 右上角就会弹出提示了
一次性 解决已被 macOS 使用,不能打开的问题._第13张图片

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

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

本来还想实现将修改成功的文件个数显示出来的.但是不会,如果有会的小伙伴,不吝赐教!

谢谢!

你可能感兴趣的:(MacBook)