Perché AppleScript non espelle il mio volume?

0

Ho un disco rigido nel mio Mac con più partizioni e voglio espellerne alcuni con AppleScript. Semplice:

tell application "Finder" 
    eject disk "Photos"
end tell

Tranne che non funziona. Posso espellere l'unità da Utility Disco senza problemi; eccolo subito dopo l'espulsione:

Quindi la domanda è: come faccio a eseguire il debug di questa situazione? Cosa potrebbe andare storto?

    
posta Alesh Houdek 01.05.2016 - 22:57
fonte

2 risposte

1

Ho avuto lo stesso problema. L'espulsione del comando Finder sembra non essere in grado di espellere i volumi sebbene, in base a ciò che ho trovato su Internet, ha funzionato in tempi compresi tra 10.4 e 10.6.

Il seguente script funziona. Ho salvato è come un'applicazione nello Script Editor e l'ho aggiunto come oggetto iniziale. Funziona bene nel mio caso.

tell application "Finder"
    set d to disk "Photos"

    if (exists d) then
        say "Disk exists"
    else
        say "Disk does not exist"
    end if
    if (d is local volume) then
        say "Disk is a local volume"
    else
        say "Disk is not a local volume"
    end if

    if (d is ejectable) then
        say "Disk is ejectable"
    else
        say "Disk is not ejectable"
    end if

    -- This fails because the disk is not ejectable
    eject d
end tell

-- Solution: Use Disk Utility directly
tell application "Terminal"
    do shell script "d=\"/Volumes/Photos\"; if [ -d \"$d\" ]; then diskutil eject $d; fi"
end tell
    
risposta data 25.07.2018 - 17:10
fonte
0

Qualcuno ha postato questo e quando ho ricaricato la pagina non c'era più! Non so perché: sembra funzionare!:

diskutil eject "/Volumes/Photos"

Questo è uno script di shell, non un AppleScript, ma dal momento che lo sto attivando in Keyboard Maestro, è altrettanto buono.

    
risposta data 02.05.2016 - 19:37
fonte

Leggi altre domande sui tag