Esto se ofrece como una alternativa a la AppleScript Objetivo-C código utilizado en la otra respuesta y está más en la línea de la estándar AppleScript código que se muestra en el PO. Nótese que el mérito de esta respuesta es del autor de la otra respuesta, CJK, ya que se deriva de los comentarios ahora borrados que nos hicimos mutuamente bajo su respuesta original. Además, considero que su respuesta, a pesar de la complejidad, es superior en rendimiento a la que se ofrece aquí.
Cuando este script se ejecuta, el usuario elige una carpeta y el resultado final, el nombre de ruta de los archivos más grandes dentro de la carpeta elegida, incluyendo sus subcarpetas, se muestra en un cuadro de diálogo.
Ejemplo AppleScript código :
set chosenFolder to quoted form of POSIX path of ¬
(text items 1 thru -2 of ((choose folder) as text) as text)
set theLargestFilePathname to ¬
(do shell script "find " & chosenFolder & ¬
" -type f -ls | sort -nrk7 | awk '{for(i=11; i<=NF; ++i) printf $i\"\"FS; exit}'")
display dialog "The largest file within the chosen folder, and its subfolders, is:" & ¬
linefeed & linefeed & theLargestFilePathname buttons {"OK"} default button 1 ¬
-- giving up after 3 # Remove the '--' at the front of this line to enable this.
El resultado final en mi carpeta de descargas es el cuadro de diálogo que se muestra a continuación:
El nombre de archivo de la ruta que se muestra es, en este momento, el archivo más grande de mi carpeta de descargas, con 5,27 GB en el disco.
Nota: El ejemplo AppleScript código es sólo eso y no contiene ningún manejo de errores como puede ser apropiado. Es responsabilidad del usuario añadir cualquier gestión de errores que pueda ser apropiada, necesaria o deseada.