我的 Mac 上有几个应用程序每次启动时都会不断创建一些文件
目前我必须前往目标目录手动删除它们,这意味着我必须记住它们在哪里等等。
有没有办法创建指向文件夹中所有文件的链接,以便我可以访问该文件夹,删除链接,然后链接的文件就会被删除?
在理想情况下,我创建的链接实际上应该保留在原来的位置,只是它们指向的文件应该被删除。
但不确定以上任何一个是否有可能!
谢谢,P。
答案1
没有办法完全按照您的要求操作,但有几种方法可以接近:一种方法是创建一个文件别名文件夹,然后在 Finder 中逐个选择它们并输入 - Command(R显示原始文件)、Command- Delete(删除)、Command- [(返回别名文件夹);然后选择下一个,然后重复。这比您想象的要麻烦一些(特别是如果有很多文件),但比手动查找和删除它们要容易。
另一个选择是创建一个脚本来一次性删除它们。这可以用 AppleScript 或 shell 脚本来完成,但 Automator 可能是完成这项特定任务最简单的方法。运行 Automator(在应用程序文件夹中),选择“应用程序”模板。接下来,在第二列中找到“获取指定的 Finder 项目”操作(顶部有一个搜索字段,比滚动整个列表更容易),然后将该操作拖到右侧的工作流列。同样,找到“将 Finder 项目移至废纸篓”操作并将其添加到“获取...”操作下方的工作流中。单击“获取...”操作中的添加,并添加需要删除的各种文件。将工作流(/应用程序)保存在方便的地方。要使用它,只需双击工作流,文件就会消失。
答案2
您可以使用 C 程序获取真实姓名获取 Mac OS 别名所指的实际位置。一旦将其编译到某个位置,$PATH
您就可以说
rm -r "$(getTrueName "$locationOfAlias")"
删除原始文件。别名将保留,但随后将被破坏。但是,如果别名指向一个文件夹,并且重新创建了与原始文件同名且位置相同的文件夹,则别名将在我的系统 (Mac OS X 10.10.5) 上再次指向它,尽管我不知道这有多可靠,也不知道这是否适用于文件或其他内容。示例:
~$ cd /tmp
/tmp$ mkdir foo
/tmp$ test -d foo
/tmp$ echo $?
0
/tmp$ # manually created alias of foo called 'foo alias' in finder
/tmp$ getTrueName 'foo alias'
/private/tmp/foo/
/tmp$ rm -r "$(getTrueName 'foo alias')"
/tmp$ test -d foo
/tmp$ echo $?
1
/tmp$ getTrueName 'foo alias'
/tmp$ mkdir foo
/tmp$ getTrueName 'foo alias'
/private/tmp/foo/