【问题标题】:applescript - apply command (delete filetype) to all subfoldersapplescript - 将命令(删除文件类型)应用于所有子文件夹
【发布时间】:2018-01-12 00:36:05
【问题描述】:

我正在尝试编写一个脚本来删除所选文件夹及其所有子文件夹中的所有 .tmp 文件。

我目前是这样设置的:

set sequenceFolder to choose folder with prompt "Please select a sequence:"


try
	
	tell application "Finder"
		
		set SubFolders to every folder of entire contents of sequenceFolder
		repeat with aFolder in SubFolders
			delete (every item of folder (sequenceFolder) whose name ends with ".tmp")
			delete (every item of folder (SubFolders) whose name ends with ".tmp")
			delete (every item of folder (aFolder) whose name ends with ".tmp")
			display dialog ("Files Deleted!") buttons {"OK"}
			
		end repeat
	end tell
	
	
	
on error
	
	display dialog ("Error. Couldn't Delete Files") buttons {"OK"}
	
	
	
end try

它目前可以删除 sequenceFolder 中的文件,但不能删除任何子文件夹。我也希望它递归地查找子文件夹,但我不知道如何。请帮忙!

【问题讨论】:

    标签: applescript subdirectory file-type finder


    【解决方案1】:

    我建议使用 shell 命令 findrm,因为它们可以考虑给定文件夹及其子文件夹中的所有文件,而且比 Finder 快得多。

    注意:

    以下代码立即删除所选文件夹的所有文件夹和子文件夹中具有指定文件扩展名的所有文件,而不将它们放入垃圾文件夹

    set theFolder to POSIX path of (choose folder with prompt "Please select a sequence:")
    do shell script " /usr/bin/find " & quoted form of theFolder & "  -name '*.tmp' -exec rm {} \\;"
    display dialog ("Files Deleted!") buttons {"OK"}
    

    【讨论】:

    • 谢谢!我不知道如何让shell命令使用提示的文件路径,所以这很完美。
    猜你喜欢
    • 1970-01-01
    • 2014-07-25
    • 2012-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-02
    • 1970-01-01
    相关资源
    最近更新 更多