Come eseguire Applescript su Disk mount

9

Voglio eseguire un oggetto Applescript quando monto un disco specifico. Non è se lo script si trova sul disco o no, dovrebbe essere eseguito solo quando OS X monta il disco.

Ho provato a farlo con le azioni della cartella, ma sembra che non sia possibile farlo in questo modo.

Chiarimento:

  1. Arrivo a casa con il mio Macbook
  2. Collego il mio hub USB al dispositivo
  3. I dischi esterni sono montati in OS X
  4. Il mio Applescript viene eseguito, contiene alcuni elementi su quei dischi

Voglio automatizzare il passaggio 4.

    
posta the-kenny 09.02.2011 - 19:44
fonte

6 risposte

4

Non menzioni in quale contesto stai montando il disco, ma che ne dici di andare dall'altra parte e montare il disco con Applescript?

Cito il contesto perché quando si monta un disco con Applescript è il grande avvertimento che, se si tratta di un volume di rete e la rete è protetta da password, il nome utente e la password dovrebbero essere archiviati come testo normale nello script per un'esecuzione senza interruzioni.

UPDATE: Un po 'di ricerca ha trovato una domanda simile altrove. In sostanza, è possibile eseguire uno script per farlo applicando lo script come Azione cartella a / Volumi:

on adding folder items to this_folder after receiving these_items
    repeat with aItem in these_items
        tell application "Finder"
            if (local volume of aItem) and (name of aItem is "[Name of Hard Drive]") then
                -- do something with the drive
                -- eject aItem
            end if
        end tell
    end repeat
end adding folder items to
    
risposta data 09.02.2011 - 19:53
fonte
11

La soluzione più probabile è quella di creare un lavoro launchd con la proprietà StartOnMount impostata su -boolean YES :

StartOnMount <boolean>
This optional key causes the job to be started every time a filesystem is mounted.

Ecco come fa Time Machine (vedi /System/Library/LaunchDaemons/com.apple.backupd-attach.plist ).

    
risposta data 08.05.2011 - 15:25
fonte
2

Usa una cartella FinderAzione che controlla / Volumi. Quando viene visualizzata una nuova cartella, significa che è stato collegato un nuovo disco. Ora la tua FolderAction può eseguire un'azione di Automator, AppleScript o uno script di shell per fare le tue cose.

    
risposta data 09.02.2011 - 20:50
fonte
1

MarcoPolo può eseguire azioni basate sull'allegato del disco.

    
risposta data 09.02.2011 - 20:50
fonte
0

Una soluzione potrebbe essere quella di creare un'applicazione Automator concatenando le 3 azioni seguenti:

  • Trova elementi del Finder specificati
  • Monta l'immagine del disco
  • Esegui AppleScript
risposta data 09.02.2011 - 20:04
fonte
0

A seconda delle esigenze, questo può essere applicato a specifiche cartelle / punti di montaggio ed è ottimo da usare quando si monta un'unità flash USB, ad esempio ...

link

    
risposta data 02.07.2014 - 23:39
fonte

Leggi altre domande sui tag