AppleScript-Verarbeitung von Dateien in Ordnern rekursiv

Ich habe einen root-Ordner, und es sind sub-Ordner. Es ist in der Regel nur eine Ebene, aber es kann tiefer sein. Diese Ordner werden verschiedene Dateien, einschließlich einige .rar - Dateien. Ich will erstellen Sie eine rekursive Funktion, die durch die Ordner, überprüfen Sie, ob die Datei eine rar-Datei und öffnen/extrahieren. Der code funktioniert auf der ersten Ebene mit problem. Aber der rekursive Aufruf nicht funktioniert und apple Skript error-handling ist furchtbar. Hier ist der code was ich bisher getan habe.

set folderName to "Macintosh HD:Users:Teja:Desktop:Madhu Babu:"

process_folder("", folderName)

on process_folder(root, folderNameToProcess)
    set fileExt to {".rar"}
    tell application "Finder"
        set theItems to every file of folder (root & folderNameToProcess)
        repeat with theFile in theItems
            copy name of theFile as string to FileName
            repeat with ext in fileExt
                if FileName ends with ext then
                    open theFile
                    delete theFile
                end if
            end repeat
        end repeat
        set theFolders to name of folders of folder (root & folderNameToProcess)
        repeat with theFolder in theFolders
            copy theFolder as string to TheFolderName
            display dialog (folderNameToProcess & TheFolderName & ":")
            try
                process_folder(folderNameToProcess, TheFolderName & ":")
            on error errStr number errorNumber
                display dialog errStr
            end try
        end repeat
    end tell
end process_folder

InformationsquelleAutor Teja Kantamneni | 2010-10-09

Schreibe einen Kommentar