Here's the workflow as I'm doing it now: I copy a phrase, open Finder and click on green tags. I copy/paste that phrase to find the filename that contains it. It then gets opened in Preview, from whence i print it. I do this hundreds of times a day, and have a programmable keypad that saves me lots of clicks. It'll run Applescripts.
Poiché ora è chiaro che in realtà non è necessario visualizzare i file in una finestra Finder per raggiungere il tuo obiettivo finale, ho preso in prestito il suggerimento da @apple9321 e utilizzato mdfind
per recuperare i percorsi dei file e abbinare i nomi dei file al contenuto degli appunti.
La prima metà dello script di seguito svolge queste attività. Mi spiace che la sceneggiatura appaia così lunga, in realtà non lo è, in quanto la maggior parte di essa è stata ripresa dai commenti che ho aggiunto per aiutarti a capire in che modo ciascuna parte dello script funziona. Copia-n-incolla in Script Editor ed eseguilo (con testo adatto già presente negli Appunti).
-- Get the text from the clipboard
-- to use for searching filenames
set SearchTerm to the clipboard as text
set SearchTerm to quoted form of (["*", SearchTerm, "*"] as text)
-- Run a bash command to retrieve all
-- files with a green tag and a filename
-- that includes the above search term
-- (case-insensitive)
set Command to ["mdfind ", ¬
"\"((kMDItemUserTags = '*Green*'cd) ", ¬
"&& (kMDItemDisplayName = ", ¬
SearchTerm, ¬
"cd))\""] as text
try -- Run the bash command and get a list of file paths
set FileList to paragraphs of (do shell script Command)
on error -- No matching filenames, script terminates
return 0
end try
-- Convert the string file paths to a class
-- that AppleScript can use to reference the files
repeat with PathToFile in FileList
set end of FileList to POSIX file PathToFile
set FileList to rest of FileList
end repeat
-- Open the files in Preview and print the documents.
-- You may not need to actually need to include the
-- 'open' command, as I believe Preview will still
-- be able to run a 'print' command if you hand it a
-- list of file references, e.g. print FileList
tell application "Preview"
open FileList
-- You can omit 'with properties' or just
-- include the print settings you want
-- (see the AppleScript "Preview" dictionary
-- for details of other available settings)
print documents with properties ¬
{copies:1, target printer:"Epson Stylus Photo PX830"}
end tell
La seconda metà dello script fa alcuni lavori di casa con i tipi di file per renderli utilizzabili, ma poi è abbastanza semplice che AppleScript apra i file in Anteprima e li stampi.
Devo inserire una dichiarazione di non responsabilità e affermare che non sono stato in grado di testare il comando print
per Anteprima in AppleScript. Questo perché non ho una stampante. Ma la mia sensazione strong è che questo dovrebbe funzionare con pochi, se del caso, ritocchi e probabilmente permetterebbe anche di stampare senza aprire prima i file:
tell application "Preview" to print FileList
Ma, come ho detto, non posso testarlo fisicamente e sto passando per quello che è implicito dal dizionario AppleScript di Anteprima (che contiene anche un elenco di impostazioni di stampa disponibili nel caso in cui sia necessario specificateli dall'interno dello script: ho specificato copies
e target printer
semplicemente come due esempi che sembravano essere i più utili, ma questi non sono richiesti).
Sembra che questo soddisfi le tue esigenze?
La tastiera programmabile suona come un buon modo per attivare questo script dopo aver copiato la frase di ricerca negli appunti. Il metodo alternativo che avrei suggerito per gli altri che non dispongono di un dispositivo del genere sarebbe quello di creare un servizio Automator , al quale è possibile assegnare un collegamento (hotkey) per attivare lo script in quel modo; oppure consentire che il servizio venga attivato dopo aver evidenziato del testo e aver fatto clic con il pulsante destro del mouse per inviare questo testo direttamente al servizio in alternativa a copiarlo negli Appunti.
Un'ultima nota: ho scelto mdfind
in questa istanza perché hai sottinteso che volevi cercare tra tutti i file con tag verde sul tuo disco rigido, e questo è più veloce dei comandi AppleScript incorporati. Tuttavia, se è necessario cercare i file con tag verde in una cartella specifica o in un paio di cartelle, potrebbe essere preferibile utilizzare i comandi AppleScript incorporati (a seconda del numero di file presenti in queste cartelle). Se trovi dei file mancanti nei risultati di mdfind
, potresti dover indicizzare nuovamente Spotlight ( sudo mdutil -Ea
da Terminal ). Ci vuole un po 'per ricostruire l'archivio dei metadati, ma tutti i file omessi dai risultati di ricerca che dovrebbero apparire ora saranno lì. Puoi visualizzare in anteprima l'elenco completo dei risultati di ricerca in Terminale immettendo questo comando: mdfind "kMDItemUserTags == 'Green'"
, che dovrebbe elencare tutti i file con tag verde.
Se hai bisogno di aiuto o hai ulteriori domande, lascia un commento e tornerò da te. Posso modificare il codice se hai dei post-pensieri specifici.