У меня есть корневая папка и в ней есть подпапки.Как правило, это только один уровень, но он может быть глубже.Эти папки будут иметь разные файлы, включая некоторые .rar
файлы.Я хочу создать рекурсивную функцию, которая обходит папки, проверяет, является ли файл файлом rar, и открывает / извлекает его.Код работает на первом уровне без каких-либо проблем.Но рекурсивный вызов не работает и обработка ошибок в скрипте Apple ужасна.Вот код, который я сделал до сих пор.
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