개별 zip 파일로 압축해야하는 수십 개의 폴더가 있습니다.
Finder에서 이러한 폴더를 모두 선택하고 “[X] 항목 압축”을 수행하면 모든 폴더가 포함 된 하나의 zip 파일이 생성되지만 원하는 것은 폴더 당 하나의 zip 파일 입니다 .
“아카이브 작성”조치를 사용하여 Automator로 워크 플로우를 작성하려고 시도했지만 동일한 방식으로 작동합니다. 여러 파일 / 폴더를 입력하면 단일 zip 파일이 출력됩니다. 작업이 각 항목에서 개별적으로 실행되도록 지정할 방법이 없습니다.
기본적으로 파인더에서 한 번에 하나씩 모든 폴더에서 “압축”을 신중하게 실행하지 않아도되는 방법을 찾고 있습니다. 이것을 자동화하는 방법이 있습니까?
답변
여기이고 자동화 서비스 1 에 사용할 수 파인더 때 폴더가 선택되고 에뮬레이트 컨텍스트 메뉴 [N] 항목 압축을 명령 제외 그것이 만들어 개별 된 zip 파일 각각 선택 용 폴더 의 이름 선택의 폴더 . 경우 폴더 Name.zip의 파일이 이미 다음 존재 " 2"
( 공간 2)이 추가되어 파일 이름 , 예를 들어, 폴더 이름 2.zip . 이것은 기존 zip 아카이브 파일을 보장 합니다를 터치하지 않으면 필요에 따라 zip 아카이브 파일 이름 이 자동으로 증가합니다.
1 에서 맥 OS 모하비 , 이상 자동화 서비스 불리며 빠른 조치 . 다른 사소한 명칭 차이도 있지만 사전 macOS Mojave Automator 워크 플로우와 비교할 때 더 분명해야합니다.
서비스를 만들려면 : 1
-
Automator를 열고 서비스 1 또는 파일 > 새로 작성 > Automator 가 이미 열려있는 경우 서비스를 선택하십시오 .
-
설정 서비스는 선택 수신 에 폴더 및 에 로 찾기 .
-
추가 실행 쉘 스크립트 액션을 설정 : 셸 에 / 빈 / bash는 과 : 패스 입력 에 인수로 다음과 같은 추가 코드를 :
for f in "$@"; do dn="$(dirname "$f")" bn="$(basename "$f")" cd "$dn" || exit if [[ ! -e "$bn.zip" ]]; then ditto -c -k --sequesterRsrc --keepParent "$f" "$bn.zip" else n=2 for i in $bn *.zip; do if [[ "$bn $n.zip" == "$i" ]]; then n="$(( n + 1 ))" fi done ditto -c -k --sequesterRsrc --keepParent "$f" "$bn $n.zip" fi done afplay /System/Library/Sounds/Purr.aiff
-
서비스를 다른 이름 으로 저장 : 폴더를 별도로 압축
서비스를 이용하려면 :
에서 찾기 또는 ▼에 데스크톱 여러 선택 폴더를 , 다음 마우스 오른쪽 버튼으로 클릭 하고 선택 압축 폴더 별도로를 아래에서 서비스 .
또는 대상 폴더를 선택한 후 메뉴 표시 줄 에서 Finder > 서비스 > 별도로 폴더 압축을 클릭 할 수도 있습니다 .
Finder가 zip 아카이브 파일을 작성하는 방법을 모방하면서 개별 zip 아카이브에서 한 번에 여러 폴더를 개별적으로 동시에 동시에 압축하는 방법이 있습니다. zip 아카이브는 __MACOSX 서브 디렉토리에 보존 된 자원 포크 및 HFS 메타 데이터를 포함하며 아카이브 작성에 (없이 )를 사용할 때와 같이 완전한 경로 이름이 아닌 destination-archive 에 상위 디렉토리 이름 소스 만 포함합니다 .zip
-j
개별적으로 압축 폴더 이미지
답변
Automator를 사용하고 싶지 않고 Archive Utility의 설정을 변경해도 괜찮은 경우 기본 제공되는 대체 솔루션이 있습니다.
- / System / Library / CoreServices / Applications /에있는 Archive Utility.app를 엽니 다.
- 파일> 환경 설정으로 이동
- “아카이브 형식 사용”환경 설정을 “Zip 아카이브”로 변경하십시오.
- 폴더를 도크의 아이콘으로 끌어다 놓습니다.