Ich möchte einen automatisierten Weg für die Archivierung von Dateien in OS X Lion einrichten. Unter Archivierung verstehe ich die Verwendung der HFS + -Komprimierungsfunktion für einen bestimmten Ordner und mache jede Datei, die ich in diesen Ordner verschiebe, automatisch komprimiert. Ich denke darüber nach, damit große Dateien zu archivieren, die ich nicht oft verwende, ohne jedoch komprimierte Archive manuell erstellen und bei Bedarf extrahieren zu müssen.
Ich bin auf das Tool afsctool ( brew install afsctool
) gestoßen , das über die Befehlszeile die HFS + -Komprimierung auf einen Ordner und alle darin enthaltenen Dateien anwenden kann. Aber ich glaube, es aktiviert nicht die Komprimierung zukünftiger Dateien, die in den Ordner verschoben werden.
Das manuelle Verschieben von Dateien und das wiederholte Ausführen einer Befehlszeile ist unpraktisch. Aus diesem Grund würde ich vermutlich Automator / AppleScript benötigen, um dies in zwei Schritten auszuführen:
- Erstellen Sie ein Skript, mit dem Sie jede Datei in einen bestimmten Ordner verschieben können. Idealerweise eine Option namens Archiv, auf die Sie über einen Rechtsklick auf die Datei zugreifen können.
- Führen Sie eine Befehlszeilenanweisung aus
afsctool -c <folder>
, um die Komprimierung für alle neuen Dateien zu aktivieren, die gerade in den Ordner verschoben wurden.
Ich habe keine Erfahrung mit Automator oder AppleScript. Daher möchte ich wissen, wo ich anfangen soll, insbesondere, wie Aktionen zum Finder hinzugefügt werden und wie ein Befehlszeilentool über ein Skript ausgeführt wird.
Aktualisierung
@kopischke guide funktioniert gut. Das Skript selbst habe ich basierend auf der Antwort von @mark gemacht, aber mit afsctool -c <folder>
, anstatt ditto
. Hier ist das Skript: Es sollte eingefügt werden~/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
Da afsctool bei MobileMe nicht mehr verfügbar ist, gibt es diimdeep / afsctool bei GitHub, derzeit 1.6.4.
Auch afsctool in MacPorts, wo sie das MobileMe-Problem kennen, aber möglicherweise die Quelle bei GitHub nicht kennen.