Tengo docenas de carpetas que necesito comprimir en archivos zip individuales.
Si selecciono todas estas carpetas en el Finder y hago "Comprimir elementos [X]", obtengo un archivo zip que contiene todas las carpetas, mientras que lo que quiero es un archivo zip por carpeta.
Intenté crear un flujo de trabajo con Automator usando la acción "Crear archivo", pero se comporta de la misma manera: al ingresar múltiples archivos / carpetas se genera un único archivo zip. No hay forma de especificar que la acción se ejecute en cada elemento individualmente.
Básicamente, estoy buscando una manera de evitar tener que ejecutar tediosamente "Comprimir" en el Finder en cada carpeta de una en una. ¿Hay alguna forma de automatizar esto?
popd
y corrigí un error tipográfico fatalfor i in $bn*.zip; do
, que debería haber sidofor i in $bn *.zip; do
. Tenga en cuenta el espacio entre$bn
y*.zip
, faltaba y no debería haberlo estado. Así que actualícelo en su implementación; de lo contrario, se iniciaráFile Name 2.zip
cuandobasename
tenga un espacio.Respuestas:
Aquí hay un Servicio 1 de Automator que está disponible en Finder cuando se seleccionan Carpetas y emula el comando Comprimir [n] Elementos de los menús contextuales, excepto que crea un archivo comprimido individual para cada Carpeta seleccionada en el nombre de la Carpeta seleccionada . Si el archivo Folder Name.zip ya existe, se agrega un ( espacio 2) al nombre del archivo , por ejemplo, Folder Name 2.zip . Esto asegura un archivo comprimido existente
" 2"
no se toca y el nombre del archivo comprimido se incrementará automáticamente según sea necesario.1 En macOS Mojave , y más tarde, un Servicio Automator se llama Acción Rápida . También hay otras diferencias menores de nomenclatura, pero deberían ser más obvias cuando se comparan con los flujos de trabajo de Mojave Automator anteriores a macOS.
Para crear el servicio: 1
Abra Automator y seleccione Servicio 1 o Archivo > Nuevo > Servicio si Automator ya está abierto.
Conjunto de servicios recibe seleccionada a carpetas y en al Buscador .
Agregue una acción Ejecutar script de Shell , establezca Shell: en / bin / bash y Pass input: to como argumentos y agregue el siguiente código :
Guarde el servicio como: Comprimir carpetas por separado
Para usar el servicio:
En Finder o en el escritorio, seleccione varias carpetas , luego haga clic con el botón derecho y seleccione Comprimir carpetas por separado en Servicios .
O, después de seleccionar las carpetas de destino , también puede hacer clic en Finder > Servicios > Comprimir carpetas por separado desde la barra de menú .
Ahí lo tiene, una forma de comprimir varias carpetas por separado y simultáneamente a la vez en archivos zip individuales mientras emula cómo Finder crea un archivo zip. Es decir, el archivo zip contiene bifurcaciones de recursos conservados y HFS meta-datos en el subdirectorio __MACOSX e incrusta sólo el nombre de directorio principal fuente de destino de archivado , no el nombre de ruta completamente calificado como cuando se utiliza
zip
(sin-j
) para crear el archivo.Imagen de carpetas de compresión por separado
fuente
Hay una solución alternativa incorporada si no desea utilizar Automator y está de acuerdo con cambiar la configuración de Archive Utility.
fuente
/System/Library/CoreServices/Applications/
(puede presionar Cmd-Shift-G cuando el cuadro de diálogo de selección de archivo está abierto para pegar esta ruta para una navegación rápida)