Quindi non so come farlo con AppleScript nativo, ma poiché i Mac usano Bash, puoi usare uno script di shell per effettuare la ricerca. Non è l'ideale ma è meglio di niente.
Quindi lo script della shell sta per cd
, cambia directory, nella cartella che devi cercare. Quindi eseguirà il comando ls
, che elenca i contenuti di una directory. il flag -a
su ls
dice di elencare gli oggetti nascosti. Gli strumenti di Bash usano un concetto chiamato input / output standard per ottenere input e output di visualizzazione. L'output standard viene visualizzato sullo schermo di default, ma può essere reindirizzato da uno strumento chiamato pipe per andare da qualche altra parte. In questo caso, anziché visualizzare un elenco di tutti i file in una directory, inseriremo tale elenco in uno strumento di ricerca denominato grep
. Questa spiegazione è stata alquanto dettagliata ma lo script della shell richiede solo 3 righe (il primo dei quali è probabilmente inutile in questo 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
Salva questo come qualcosa di logico, come findFile.sh
, quindi rendilo eseguibile con questo comando nell'app terminale
chmod +x /path/to/findFile.sh
Quindi ora è pronto per andare, su AppleScript.
Come ho detto, non sono così esperto in AppleScript, ma, a quanto ho capito, avresti eseguito lo script della shell in questo modo
set output to do shell script "/path/to/findFile.sh"
quindi la variabile output
conterrà qualsiasi testo trovato da grep. Il tuo test per verificare se il file esiste o meno adesso contiene o meno output
.
Sentiti libero di eseguire man grep
nel terminale per il manuale grep
per vedere di più su come funziona e cosa corrisponde e come abbinare solo i file con determinate estensioni e cose del genere. Forse potresti voler giocare con le pipe in grep
per avere un'idea di come funziona.
Speriamo che qualcuno possa venire con una risposta alla tua domanda in AppleScript.
Riferimenti: