Ich möchte mehrere Ordner gleichzeitig komprimieren, wobei jeder Ordner eine eigene Zip-Datei ist. Ich möchte die ZIP-Datei ohne _macosx oder andere versteckte Dateien erstellen und nach Möglichkeit gleichzeitig die Erweiterung der ZIP-Datei in .cbz ändern. Auf diese Weise kann ich nur einen Prozess für einen ganzen Ordner ausführen und sie alle schnell erledigen.
Ich verwende Ubooquity, um meine Comics zu hosten, und es behandelt die Dateien als beschädigt, wenn sich die _macosx-Datei oder andere versteckte Dateien in der Zip-Datei befinden.
Hier ist ein Automator-Dienst , der als einzelne Run Shell Script- Aktion verwendet , um den Prozess zu verarbeiten.
Wählen Sie in Automator : Datei > Neu > Dienst
Set: Dienst empfängt ausgewählte Ordner im Finder
Fügen Sie eine Shell-Skript ausführen -Aktion hinzu
Speichern Sie den Automator-Dienst und geben Sie ihm einen geeigneten Namen, z. B.: Create CBZ Zip Archive
Wählen Sie nun im Finder die Zielordner aus, für die Sie ein individuelles ZIP-Archiv mit einer .cbz-Erweiterung für jeden ausgewählten Ordner wünschen, klicken Sie dann mit der rechten Maustaste und wählen Sie im Abschnitt „ Dienste “ des Kontextmenüs „CBZ-Zip-Archiv erstellen“ aus .
Code für die Aktion "Shell-Skript ausführen ":
for d in "$@"; do
if ! cd "$(dirname "$d")"; then exit; fi
if ! d="$(basename "$d")"; then exit; fi
if [[ ! -e "${d}.cbz" ]]; then
if ! zip -r "${d}.cbz" "$d" -x \*.DS_Store \*.localized; then exit; fi
fi
done
Anmerkungen:
zip
wird der Ordner nicht eingeschlossen , __MACOSX
und wenn Sie feststellen, dass es neben .DS_Store
und noch weitere versteckte Dateien .localized
gibt, obwohl Sie in diesem Anwendungsfall nicht auf letztere stoßen sollten, können Sie dem zip
Befehl zusätzliche Ausschlüsse hinzufügen .defaults write -g NSServicesMinimumItemCountForContextSubmenu -int 100001
Dann killall Finder
wird die Änderung wirksam. So fügen Sie eine Tastenkombination hinzu: Systemeinstellungen > Tastatur > Tastenkombinationen > Dienste
Benutzer3439894
Ryan Boles
Benutzer3439894
Ryan Boles