Ecco una soluzione per i mele. Questo dovrebbe darti un elenco completo di file aperti (incluso il percorso completo) nell'app di anteprima.
Inoltre, se qualche guru di AppleScript incontra questa risposta, sarei grato per ogni critica costruttiva che hai da offrire. :)
set text item delimiters to "\n"
set myList to {}
tell application "Preview"
set theDocs to get documents
repeat with eachDoc in theDocs
set thePath to path of eachDoc
copy thePath to end of myList
end repeat
end tell
set the_list to myList as text
tell application "Finder"
set myFile to "/Users/YourName/YourFolder/FileName.txt"
do shell script "date >> " & myFile
do shell script "echo " & quoted form of the_list & " >> " & myFile
end tell
Questo stamperà la data corrente seguita da un elenco di tutti i documenti aperti in Anteprima. Se preferisci omettere la data, rimuovi la riga:
do shell script "date >> " & myFile
Assicurati di inserire le informazioni corrette sulla linea:
set myFile to "/Users/YourName/YourFolder/FileName.txt"
Se vuoi aggiungere un timbro data al tuo nome file, inserisci le seguenti righe sotto il blocco tell application "Finder"
set time_stamp to (do shell script "date \"+%m-%d-%y\"")
set myFile to "/Users/YourName/YourFolder/PreviewProfile_" & time_stamp & ".txt"
Il comando terminal date
ha molti formati diversi disponibili. Per leggere le diverse opzioni disponibili, apri il tuo terminale e digita man strftime
.
Dopo aver giocato un po 'di più mi rendo conto che questo script può essere ulteriormente semplificato. Questa è una versione più snella che evita alcuni passaggi non necessari dall'originale. Ma il risultato è lo stesso in entrambi i casi.
set text item delimiters to "\n"
tell application "Preview"
set theDocs to get path of every document as text
tell application "Finder"
set time_stamp to (do shell script "date \"+%m-%d-%y\"")
set myFile to "/Users/YourName/YourFolder/PreviewProfile_" & time_stamp & ".txt"
do shell script "echo " & quoted form of theDocs & " >> " & myFile
end tell
end tell
Per facilità d'uso, puoi salvare questo script come un servizio Automator da utilizzare mentre lavori in qualsiasi applicazione. Per farlo, apri Automator , quindi dal menu File seleziona Nuovo o ⌘N dalla tastiera. Quindi seleziona Servizio dalle opzioni visualizzate. All'apertura del documento, seleziona Utilità nella colonna più a sinistra. Quindi seleziona Esegui AppleScript nella colonna a destra di quello. Incolla questo script nella casella che appare. Nelle opzioni a discesa nella parte superiore della pagina, seleziona Il servizio non riceve input e in qualsiasi applicazione . Quindi basta scegliere e nominare, salvare il file e si dovrebbe avere un servizio disponibile da utilizzare in qualsiasi momento nel menu dei servizi.
Aggiornamento
Ecco un modo per leggere e aprire l'elenco dei file appena creati. Questo ti permetterà di scegliere quali file vuoi aprire senza dover aprire tutti i file della lista se non vuoi.
tell application "Finder"
set file_list to {}
set my_files to paragraphs of (read "/Users/YourName/path/to/YourFile")
repeat with nextLine in my_files
if length of nextLine is greater than 0 then
copy nextLine to the end of file_list
end if
end repeat
choose from list file_list with multiple selections allowed
set chosen_Files to the result
repeat with next_file in chosen_Files
do shell script "open " & next_file
end repeat
end tell
Spero che aiuti. Fammi sapere se hai problemi.