Por lo tanto, no sé cómo hacer esto con AppleScript nativo, pero como las Mac usan Bash, puedes usar un script de shell para realizar la búsqueda. No es ideal, pero es mejor que nada.
Por lo tanto, su script de shell irá a cd
, cambiar directorio, a la carpeta que necesita buscar. Luego, ejecutará el comando ls
, que enumera los contenidos de un directorio. el indicador -a
en ls
le indica que enumere los elementos ocultos. Las herramientas de Bash usan un concepto llamado entrada / salida estándar para obtener entrada y mostrar salida. La salida estándar se muestra en la pantalla de manera predeterminada, pero se puede redirigir mediante una herramienta llamada canalización para ir a otro lugar. En este caso, en lugar de mostrar una lista de todos los archivos en un directorio, vamos a canalizar esa lista en una herramienta de búsqueda llamada grep
. Esa explicación fue algo detallada, pero su script de shell solo necesita 3 líneas (la primera de las cuales es posiblemente innecesaria en este caso):
#!/bin/bash # define the shell, not really needed because bash is the default shell but good practice
cd /path/to/search/directory # cd to the proper place
ls -a | grep "the text you're looking for" # list all files (including hidden ones) and pipe output into grep, a search tool
Guarde esto como algo lógico, como findFile.sh
, luego hágalo ejecutable con este comando en la aplicación de terminal
chmod +x /path/to/findFile.sh
Así que ya está listo para ir al AppleScript.
Como dije, no tengo tanta experiencia con AppleScript, pero como lo entiendo, ejecutaría el script de shell como este
set output to do shell script "/path/to/findFile.sh"
entonces la variable output
contendría cualquier texto que haya encontrado grep. Tu prueba para saber si el archivo existe o no es ahora si output
contiene texto.
Siéntase libre de ejecutar man grep
en el terminal para el manual grep
para ver más sobre cómo funciona y con qué se ajusta y cómo hacer coincidir solo los archivos con ciertas extensiones y cosas por el estilo. Quizás quieras jugar con las cosas en grep
para tener una idea de cómo funciona.
Espero que alguien pueda venir junto con una respuesta a su pregunta en AppleScript.
Referencias: