Konwertuj jakość JPEG na 80% za pomocą automatora

0

Chcę stworzyć skrypt automatora, który przechodzi przez folder z podfolderami i konwertuje wszystkie pliki .JPEG (lub .JPG) na ten sam JPEG, ale z jakością 80%.

W Automatorze nie ma opcji, która byłaby podobna do tej w Preview, Pixelmator lub Photoshop podczas zapisywania JPEG w celu ustawienia jakości. Więc zainstalowałem ImageMagick przez homebrew, ale nie wiem jak przekazać te funkcje przez automator.

TL; DR: konwertuj tylko JPEG w folderze z podfolderami na niższą jakość za pomocą automatora i nie przenoś plików.

juistm
źródło

Odpowiedzi:

0

w pakiet imagemagick istnieje program o nazwie mogrify który zastąpi oryginalny plik obrazu i inny, convert, który napisze do innego pliku obrazu.

W Linuksie jest inne polecenie, find, który przeszuka (i znajdzie) wszystkie pliki w ścieżce, która spełni kryteria wyszukiwania i może to zrobić exec ute jakieś polecenie z znalezioną nazwą pliku.

Ostrzeżenie: Zdecydowanie zalecamy wykonanie kopii zapasowej przed rozpoczęciem używania skryptu, który zmodyfikuje oryginalne pliki , aby zapobiec nieprzyjemnym niedogodnościom, których nie możesz naprawić po ...

Ponadto proponuję przetestować polecenie na próbce (tylko na niektórych plikach, a nie na wszystkich).

Rozumiem, że chcesz zastąpić wszystkie swoje zdjęcia wersją niższej jakości.
Łącząc powyższe dwa polecenia możesz zrobić coś podobnego do

find Path/to/MyFolder -name '*.jpg' -exec mogrify -quality 80 {} \;

Posługiwać się man mogrify i man find mieć więcej podpowiedzi.

Hastur
źródło
Mam ten skrypt find . -type f -iname "*.jpg" -exec convert \{\} -quality 80 \{\} \; i działa dobrze w oknie terminala, jeśli ja cd Path/to/MyFolder ale nie działa w automacie bocznym.
juistm
Nie mam komputera, który mógłby go przetestować ... ale możesz uruchomić to polecenie jako mały skrypt, aby rozwiązać problem. BTW Powinieneś mieć problem convert plik o tej samej nazwie dla wejścia i wyjścia (zrobili to mogrify dla tego). Co więcej, brzmi to dla mnie dziwnie \{\} ( powinno być {} )
Hastur
Tylko spróbuj: spróbuj zastąpić "*.jpg" z '*.jpg'... lub uciec " z -iname \"*.jpg\"
Hastur