10 votos

Cómo detener la creación de la carpeta oculta __MACOSX al comprimir archivos/carpetas en Finder

Cuando se comprimen archivos/carpetas en Finder, a través del menú contextual, es decir, seleccionar los archivos/carpetas y luego hacer clic derecho y seleccionar Comprimir..., se crea una carpeta oculta llamada __MACOSX dentro del archivo zip.

¿Cómo se puede evitar que la carpeta oculta llamada __MACOSX no se cree dentro del archivo zip?

0 votos

¡Bienvenido a Ask Different! :) Desafortunadamente, tu pregunta no proporciona suficiente detalle para que podamos ayudarte. Leer cómo hacer una pregunta puede mejorar tus posibilidades de obtener una buena respuesta. Por ahora, ¿puedes editar tu pregunta para aclarar lo que realmente está sucediendo? Específicamente, ¿puedes ampliar en lo que quieres decir con la creación de una carpeta oculta? ¿Está esto ubicado dentro del archivo? ¿O te refieres a que obtienes nada más que una carpeta vacía (es decir, nada se está archivando)? ¿O algo más?

1 votos

Por defecto, los archivos/carpetas comprimidos en Finder se procesan utilizando Archive Utility y esta aplicación no tiene las preferencias de configuración para mantener los metadatos que se agregan al archivo. Tendrás que usar una solución de terceros u otros métodos/utilidades integrados en macOS, como utilizar utilidades de línea de comandos como ditto, zip o crear un Servicio de Automatización para realizar las acciones necesarias para lograr el objetivo, etc.

0 votos

¿Qué versión de OS X/macOS estás usando?

8voto

user3439894 Puntos 5883

Usando la información de la otra respuesta, aquí tienes un Servicio de Automator1 que estará disponible en Finder para eliminar la carpeta de meta-datos "__MACOSX" de un archivo zip.

Para Crear el Servicio:

  1. Abre Automator y selecciona: Archivo > Nuevo > Servicio

  2. Configura Recibir la Selección como archivos o carpetas y en a Finder.

  3. Agrega una Acción de Ejecutar Shell, estableciendo Shell: como /bin/bash y Pasar entrada: a como argumentos mientras reemplazas el código predeterminado con el siguiente código:

    for f in "$@"; do
        if [[ ${f##*.} =~ ^[zZ][iI][pP]$ ]]; then
            zip -d "$f" "__MACOSX*"
        fi
    done
    afplay /System/Library/Sounds/Purr.aiff
    • Lo que hace el código: Verifica que cada archivo que se pasa al servicio tenga una extensión zip, sin importar mayúsculas o minúsculas, y si tiene una extensión zip, y si "__MACOSX" existe dentro del archivo zip, elimina la carpeta de meta-datos "__MACOSX" del archivo zip.

    • ${f##*.} obtiene la extensión del archivo, =~ prueba la expresión regular, y la ^[zZ][iI][pP]$ regex coincide con cualquier combinación de letras en los corchetes mientras que ^ indica la posición al principio de la cadena y $ indica la posición al final de la cadena. Por lo tanto, solo coincide con zip en cualquier combinación de esas letras.

    • Nota: La última línea del código es opcional, solo para informarte que el servicio se completó, y se puede cambiar a un sonido diferente u omitirse si prefieres no ser notificado por sonido al completarse.

  4. Guarda el Servicio como, por ejemplo: Eliminar '__MACOSX' de Archivo Zip

<sup>1</sup> En <strong>macOS Mojave</strong> y versiones posteriores, un <strong>Servicio de Automator</strong> se llama <em>Acción Rápida</em>. También hay otras diferencias de nomenclatura menores pero deberían ser más evidentes al compararlos con los flujos de trabajo de Automator anteriores a macOS Mojave.

Para Usar el Servicio:

En Finder, o en el Escritorio si el archivo zip está allí, selecciona el(los) archivo(s) zip, luego clic derecho y selecciona Eliminar '__MACOSX' de Archivo Zip en el menú contextual o bajo Servicios en el menú contextual, o desde Servicios en el menú de Finder según corresponda.

La imagen del servicio en Automator, que se muestra abajo, es de OS X 10.8.6, sin embargo, se probó en macOS 10.12.5 y funciona allí también.

Servicio de Automator

0 votos

Bien hecho. ¿Te importaría si hago una edición para explicar por qué estas carpetas existen correctamente cuando codificas archivos HFS+ o especulaciones que podrían ser mejor como su propia respuesta?

0 votos

@bmike, En absoluto, suena como un valor agregado... gracias.

0 votos

Es grandioso. Gracias por tu trabajo. ¿Es posible que el servicio comprima y elimine los archivos con un solo clic?

8voto

Tetsujin Puntos 23061

De WP Guru - Cómo eliminar __MACOSX de archivos zip

Primero, crea tu ZIP a través del Finder, como siempre haces. Luego, abre Terminal y cd hasta el directorio donde se encuentra tu archivo ZIP. Si es una ruta larga, simplemente escribe "cd " y arrastra la carpeta a Terminal (menos escritura siempre es mejor).

Ahora escribe lo siguiente:

zip -d tu-archivo.zip "__MACOSX*"

Y eso debería hacerlo. Este comando (zip) eliminará todo (-d) que empiece con __MACOSX de tu archivo ZIP (tu-archivo.zip).

Para verificar, escribe lo siguiente:

unzip -l tu-archivo.zip

Esto simplemente mostrará el contenido de tu-archivo.zip.

Si no te sientes cómodo con Terminal, BetterZip tiene una opción para hacer esto por ti, pero cuesta $25.

1 votos

Me gustaría desactivar por completo esta opción.

1 votos

Dudo que sea posible. Los datos están ahí para que el sistema operativo pueda volver a fusionar correctamente los metadatos que de otra forma no se pueden transportar en los archivos.

0 votos

Creo que MacOS es genial, pero no veo cómo un archivo zip con un número mágico verificable debería requerir metadatos específicos del sistema operativo.

2voto

rudo.ba Puntos 21

Como dijo el usuario3439894, prueba una solución de terceros. Estoy usando la aplicación gratuita Keka con éxito a largo plazo:

http://www.kekaosx.com/en/

Configura en las preferencias de Keka para no crear archivos específicos de Mac en los archivos. También se puede utilizar a través del menú contextual (después de agregar "Comprimir con Keka.workflow" a tu carpeta "~/Library/Services"), consulta el enlace en la parte inferior izquierda de su sitio web.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X