Vorrei impostare un modo automatico per l'archiviazione dei file in OS X Lion. Con l'archiviazione intendo l'uso della funzione di compressione HFS + su una cartella specifica e ogni file che trasferisco in questa cartella viene automaticamente compresso. Sto pensando di usarlo per archiviare file di grandi dimensioni che non uso spesso, ma senza dover creare manualmente archivi compressi e doverli estrarre nel caso in cui ne avessi bisogno.
Mi sono imbattuto nello strumento afsctool ( brew install afsctool
), che può, tramite la riga di comando, applicare la compressione HFS + a cartella e tutti i file in essa contenuti. Ma credo che non attivi la compressione dei file futuri spostati nella cartella.
Spostare manualmente i file ed eseguire ripetutamente le istruzioni della riga di comando è scomodo. Quindi suppongo che avrei bisogno di usare automator / AppleScript per eseguirlo in due passaggi:
- Crea uno script che consente di spostare qualsiasi file in una cartella specifica. Idealmente un'opzione denominata Archivio accessibile tramite clic con il pulsante destro del mouse sul file.
- Esegui un'istruzione della riga di comando
afsctool -c <folder>
, per attivare la compressione su tutti i nuovi file appena trasferiti nella cartella.
Non ho esperienza con l'uso di automator o AppleScript, quindi mi piacerebbe sapere da dove cominciare, specialmente riguardo a come aggiungere azioni al Finder e come eseguire uno strumento da riga di comando da uno script.
Aggiornamenti
La guida di @kopischke funziona bene. Lo script stesso, l'ho creato in base alla risposta di @mark, ma utilizzando afsctool -c <folder>
, invece di ditto
. Ecco la sceneggiatura:
Dovrebbe essere messo in ~/Library/Scripts/Folder Action Scripts
on adding folder items to this_folder after receiving these_items
repeat with i from 1 to number of items in these_items
try
set this_item to item i of these_items
tell application "Finder"
set the file_name to the POSIX path of this_item
end tell
set cmd to "/usr/local/bin/afsctool -c " & file_name
do shell script cmd
on error the error_message number the error_number
display dialog "Error: " & the error_number & ". " & the error_message buttons {"OK"} default button 1
end try
end repeat
end adding folder items to
Poiché afsctool su MobileMe non è più disponibile, ci sono diimdeep / afsctool su GitHub, attualmente 1.6.4.
Anche afsctool in MacPorts dove sono a conoscenza del problema MobileMe ma forse ignaro della fonte su GitHub.