Mam dziesiątki folderów, które muszę skompresować do pojedynczych plików zip.
Jeśli wybiorę wszystkie te foldery w Finderze i zrobię „Kompresuj [X] elementy”, otrzymam jeden plik zip zawierający wszystkie foldery, a tym, czego chcę, jest jeden plik zip na folder.
Próbowałem utworzyć przepływ pracy za pomocą Automatora przy użyciu akcji „Utwórz archiwum”, ale zachowuje się tak samo: wprowadzanie wielu plików / folderów powoduje utworzenie jednego pliku zip. Nie ma sposobu, aby określić, że akcja będzie uruchamiana dla każdego elementu osobno.
Zasadniczo szukam sposobu na uniknięcie żmudnego uruchamiania „Kompresowania” w Finderze w każdym folderze pojedynczo. Czy jest jakiś sposób na zautomatyzowanie tego?
popd
i poprawiłem fatalną literówkęfor i in $bn*.zip; do
, która powinna była byćfor i in $bn *.zip; do
. Zwróć uwagę na odstęp między$bn
i*.zip
, brakowało go i nie powinno być. Zaktualizuj go więc w swojej implementacji, w przeciwnym razie będzie działał,File Name 2.zip
gdybasename
będzie w nim miejsce.Odpowiedzi:
Oto usługa Automatora 1, która staje się dostępna w Finderze po wybraniu folderów i emuluje menu kontekstowe Polecenie Kompresuj [n] Elementy, z wyjątkiem tego, że tworzy osobny plik archiwum zip dla każdego wybranego folderu w nazwie wybranego folderu . Jeśli plik Name.zip folderu już istnieje, wówczas do nazwy pliku dołączane jest ( spacja 2) , np. Nazwa folderu 2.zip . Zapewnia to istniejący plik archiwum zip
" 2"
nie zostanie dotknięty, a nazwa pliku archiwum zip zostanie automatycznie zwiększona w razie potrzeby.1 W systemie macOS Mojave i nowszych usługa Automatora nazywa się Szybką akcją . Istnieją również inne drobne różnice w nomenklaturze, ale powinny one być bardziej oczywiste, porównując je z obiegami pracy Mojave Automator w wersji wcześniejszej niż macOS.
Aby utworzyć usługę: 1
Otwórz Automator i wybierz Usługa 1 lub Plik > Nowy > Usługa, jeśli Automator jest już otwarty.
Zestaw usługi odbiera wybrany do folderów oraz w celu Finder .
Dodaj Run Script Shell działanie , ustawienie Shell: do / bin / bash i wejścia hasło: aby jako argumenty i dodaj następujący kod :
Zapisz usługę jako: osobno kompresuj foldery
Aby skorzystać z usługi:
W Finderze lub na pulpicie wybierz wiele folderów , a następnie kliknij prawym przyciskiem myszy i wybierz opcję Kompresuj foldery osobno w obszarze Usługi .
Lub po wybraniu folderów docelowych możesz również kliknąć Finder > Usługi > Kompresuj foldery osobno z paska menu .
Masz, sposób kompresji wielu folderów osobno i jednocześnie w osobnych archiwach zip, jednocześnie emulując sposób, w jaki Finder tworzy plik archiwum zip. Oznacza to, że archiwum zip zawiera zachowane rozwidlenia zasobów i metadane HFS w podkatalogu __MACOSX i osadza źródło źródłowej nazwy katalogu nadrzędnego w archiwum docelowym , a nie w pełni kwalifikowaną nazwę ścieżki, jak przy użyciu
zip
(bez-j
) do utworzenia archiwum.Obraz folderów kompresji osobno
źródło
Istnieje alternatywne rozwiązanie, które jest wbudowane, jeśli nie chcesz korzystać z Automatora i nie masz nic przeciwko zmianie ustawień Narzędzia do archiwizacji.
źródło
/System/Library/CoreServices/Applications/
(możesz nacisnąć Cmd-Shift-G, gdy okno dialogowe wyboru pliku jest otwarte, aby wkleić tę ścieżkę do szybkiej nawigacji)