前言
在macBook系统之中,由于不支持ntfs。挂载移动硬盘时,经常出现占用问题。
每次通过命令清理太繁琐。
下面介绍通过macOS之中的自动工具来实现,一次创建,终身有效。
说明
- 选择单个文件,解除当前文件OS占用
- 选择文件夹,解除整个文件夹及子文件夹里面的文件OS占用
- 脚本不会删除你的磁盘文件,不会影响文件内容。
1.创建自动操作
创建“快速操作”文稿类型
选择工作流程的类型为“文件或文件夹”
先创建一个请求确认,避免错误点击,造成的无意义操作
请按照下图所示进行操作。
创建一个确认对话框,文字内容随便输入,这只是我的一个参考.
然后添加“输入参数”. 例如选择了文件夹或者文件后,需要将文件地址传递到脚本中来是,所以我们需要选择添加一个路径变量
添加成功后的效果如下所示:
2.配置自动化流程脚本
关键点就在于脚本的配置了
选择Shell:/bin/bash 选择传递输入:至stdin
然后输入下面脚本代码
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
效果图如下所示:
然后再给自动工具添加一个完成后的通知
到这里整个自动化脚本工具已经创建完成了。
完整版效果如下图所示:
3.保存编辑内容,并执行
点击“存储”进行保存操作.
打开你的移动磁盘文件目录,选择被占用的文件
右击选择“快速操作” 这个时候就会出现刚才保存的自动化脚本了
选择“清理OS文件占用”
就会出现一个弹框让你确认是否进行清理,确认后就会进行脚本执行阶段。
执行完毕后出现
其他
1.脚本运行出现:xattr: [Errno 30] Read-only file system: '/Volumes/你的磁盘名称/xxxxx/xxx/xxx
那是因为你的磁盘当前是以只读形式进行挂载的,系统没有写的权限。所以不能执行。
建议查询下如何将ntfs 挂载成读写模式,可以通过命令的形式直接操作。
2.unexpected end of file 如果出现该问题,因为某个文件访问不了执行错误了才会出现,建议在windows下修复下磁盘然后再进行尝试。
3.如果出现磁盘插入之后,空间有存储容量占用,但是打开目录下确实空的。
这是因为ntfs文件目录系统被损坏,你的文件没有被丢失,插入windows系统下,使用windows系统的磁盘恢复,就可以恢复文件目录系统了。不会影响存储的文件本身。
这种主要是针对已经配置了ntfc 磁盘加载,并赋予了磁盘读写配置的场景。并不是说ntfc磁盘插入就能够使用上面的配置。
如果是需要可以免费访问ntfc磁盘的软件 可以试试NTFSToolfor Mac:NTFS管理_NTFS挂载_dmg镜像磁盘管理— Mac软件分享【腾讯柠檬精选】 (qq.com)
评论区