Quindi non so come fare con AppleScript nativo, ma poiché i Mac usano Bash, puoi fare uno script di shell per fare la ricerca. Non è l'ideale ma è meglio di niente.
Quindi il tuo script shell sta per cd
cambiare directory, nella cartella che devi cercare. Quindi eseguirà il ls
comando, che elenca il contenuto di una directory. la -a
bandiera su gli ls
dice di elencare gli oggetti nascosti. Gli strumenti di Bash usano un concetto chiamato input / output standard per ottenere input e visualizzare output. L'output standard viene visualizzato sullo schermo per impostazione predefinita, ma può essere reindirizzato da uno strumento chiamato pipe per andare altrove. In questo caso, invece di visualizzare un elenco di tutti i file in una directory, eseguiremo il pipe di tale elenco in uno strumento di ricerca chiamato grep
. Questa spiegazione era in qualche modo dettagliata, ma il tuo script di shell necessita solo di 3 righe (la prima delle quali è probabilmente superflua 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
Salvalo come qualcosa di logico, come findFile.sh
, quindi rendilo eseguibile con questo comando nell'app del 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 output
variabile conterrebbe qualsiasi testo trovato da grep. Il tuo test per verificare se il file esiste o meno ora output
contiene o meno testo.
Sentiti libero di correre man grep
nel terminale per il grep
manuale per vedere di più su come funziona e cosa corrisponde e su come abbinare i file solo con determinate estensioni e cose del genere. Forse potresti voler giocare a tubazioni grep
per avere un'idea di come funziona.
Spero che qualcuno possa trovare una risposta alla tua domanda in AppleScript.
Riferimenti:
home_path
ehiddenFile
, potresti semplicemente usarloset hiddenFile to (path to home folder as text) & ".test"
e usarlo con la risposta di klanomath, dato che è di gran lunga la migliore risposta di tutte finora! IMO Dovrebbe essere contrassegnato come risposta accettata.