J'ai un dossier racine et il y a des sous-dossiers dedans. Il s'agit généralement d'un seul niveau, mais il peut être plus profond. Ces dossiers auront des fichiers différents, y compris certains fichiers .rar
. Je veux créer une fonction récursive qui traverse les dossiers, vérifie si le fichier est un fichier rar et l'ouvre/l'extrait. Le code fonctionne au premier niveau sans problème. Mais l'appel récursif ne fonctionne pas et la gestion des erreurs du script Apple est horrible. Voici le code que j'ai fait jusqu'à présent.AppleScript traitant les fichiers dans des dossiers récursivement
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