Le risposte alle domande sul Mac

Come forzare il refresh di una cartella di rete?

Argomenti: RetiApplescriptAutomatorTerminaleUtility

Author: Marco Balestra

A volte capita che una cartella di rete condivisa da Windows o Linux (via samba) o anche da un Mac (via smb o appleshare) venga modificata da altri utenti, ma che nella cartella montata il contenuto non venga visto aggiornato.
Magari sono stati aggiunti nuovi file o nuove cartelle, ma non li vediamo

Questo accade perché il Finder periodicamente controlla se la cartella è stata modificata, e in quel caso la aggiorna, ma se chi ha modificato la cartella ha una data di sistema nel passato rispetto alla nostra… e allora la cartella non risulta modificata dal momento dell’ultimo controllo.
Un pulsante di “Refresh” farebbe magari comodo, ma non c’è.

Usando il Terminale

In questo caso è possibile forzare il refresh della cartella semplicemente effettuandone un “touch” da Terminale, che ne reimposta la data di modifica.

Usando Automator

Per chi ha poca dimistichezza con il Terminale, o per chi comunque preferisce farlo direttamente dal Finder, con OS X 10.4 o successivo è possibile creare un Workflow di Automator da salvare come plug-in del Finder.
Il workflow eseguirà un semplice Applescript:

on run {input, parameters} repeat with elem in input try do shell script "touch " & (quoted form of POSIX path of elem) end try end repeat return input end run

Oppure, in una versione leggermente più avanzata, che forza l’aggiornamento del Finder:

on run {input, parameters} repeat with elem in input try do shell script "touch " & (quoted form of POSIX path of elem) end try try tell application "Finder" to update elem end try end repeat return input end run

Salvando il Workflow come plug-in del Finder (sempre da Automator) avremo un elemento del menu contestuale di Automator che effettua il “touch” dei file e delle cartelle selezionate, e quindi anche il refresh in rete.

Allegato alla FAQ, di seguito, lo script già pronto salvato in formato leggibile.

Powered by JBLOUD, © 2021 altersoftware.IT