Я хочу запустити сценарій для всіх файлів з двома конкретними розширеннями на диску з ієрархією декількох вкладених папок. Мій сценарій прекрасно працює, коли я вибираю папку вниз по лінії з меншою кількістю папок, але я хотів би запустити її на весь архів із більш ніж тисячею папок. AppleScript має назавжди get
всі файли, а потім виходить, не повертаючи нічого і не виконуючи операції після отримання файлів. Немає повідомлення про час очікування, немає повідомлення про помилку. І Finder стає невідповідальним (і залишається застряглим після закінчення сценарію).
set myFolder to choose folder with prompt "Choose a folder:"
tell application "Finder"
try
set eafFiles to (every file in entire contents of myFolder whose name ends with ".eaf") as alias list
on error
try
set eafFiles to ((every file in entire contents of myFolder whose name ends with ".eaf") as alias) as list
on error
set eafFiles to {}
end try
end try
try
set pfsxFiles to (every file in entire contents of myFolder whose name ends with ".pfsx") as alias list
on error
try
set pfsxFiles to ((every file in entire contents of myFolder whose name ends with ".pfsx") as alias) as list
on error
set pfsxFiles to {}
end try
end try
set myFiles to eafFiles & pfsxFiles
end tell
repeat with CurrentFile in myFiles
set CurrentFile to CurrentFile as string
do shell script "perl /path/to/perl/script.pl " & quoted form of CurrentFile
end repeat
do shell script "perl " & quoted form of perlScript & " " & quoted form of CurrentFile
- я думаю, що є кращий спосіб зробити це, але мої навички сценарію в значній мірі обмежені яблучним сценарієм.