Mac OS 递归删除文件夹中的文件

时间:2021-01-04 09:17:24

标签: macos applescript

我有一个包含项目的主目录。每个项目都是一个文件夹,如 myfolder/projectname。每个项目都有一个名为 var 的目录和另一个名为 cache 的目录,例如 myfolder/projectname/var/cache。我想在 Apple 脚本中准备一个脚本,以通过 myfolder 文件夹递归运行 Finder,在那里找到所有类似于 var/cache 的项目文件夹,然后从中删除所有文件文件夹。例如:

myfolder/projectname1/var/cache
myfolder/projectname2/var/cache
myfolder/projectname3/var/cache

如何实现?现在我有一个这样的代码但不起作用

try
    
    tell application "Finder"
        
        delete (every item of folder ("/Users/myuser/myfolder") whose name is "cache")
        
    end tell
    
on error
    
    display dialog ("Error. Couldn't Move the File") buttons {"OK"}
    
end try

1 个答案:

答案 0 :(得分:2)

这可以通过 shell 更简单、更高效地完成。

* 是通配符,第一个考虑 myfolder 中的所有文件夹,第二个考虑 cache 中的所有项目。如果quoted form的真实姓名包含空格字符,则需要myfolder

set baseFolder to POSIX path of (path to home folder) & "myfolder/"
do shell script "rm " & quoted form of baseFolder & "*/var/cache/*"
相关问题