Comprime una carpeta a través de una línea de comando mientras persiste su icono

0

Tengo una carpeta con un icono personalizado (a través de NSWorkspace's setIcon:forFile:options).

Me gustaría comprimir la carpeta para que el icono personalizado se conserve después de descomprimir.

Actualmente llamo

zip -r9 Folder.zip Folder

Cuando lo descomprimo a través del Finder, la carpeta sin comprimir no tiene ningún ícono personalizado y la carpeta contiene un elemento llamado Icon?.

¿Cómo solucionarlo / cómo comprimir la carpeta correctamente?

alik
fuente
¿Es aceptable usar el formato tar.gz más tradicional? Mantiene información de iconos, y macOS también sabe cómo abrir aquellos con el descompresor estándar.
William T Froggard
@William T Froggard, ya zipque no puede hacerlo, debe escribir una respuesta usando tarya que cumple con la línea de comando y mantiene los aspectos de ícono de la pregunta. ¡Lo votaría! :)
user3439894
@ user3439894 Diablos, ¿por qué no? :)
William T Froggard
Necesito verificar si otras partes del flujo de trabajo son compatibles con tar.gz. Supongo que zip sería más nativo / seguro, pero comprobaré si encontraré bibliotecas para tar.gz donde sea necesario.
alik
@alik, Si el archivo comprimido se va a utilizar en un Mac, entonces no veo ninguna razón por la cual no se puede reemplazar zipcon tar! Dicho esto, si mantener el ícono es una necesidad absoluta, entonces zipno lo va a cortar y tares un binario predeterminado en todas las versiones modernas de OS X / macOS, por lo que realmente no debería haber un problema.
user3439894

Respuestas:

2

El comando de línea de zipcomandos no parece ser capaz de manejar ciertos aspectos de macOS, incluidos los iconos, pero la tarutilidad más tradicional de Unix sí. Puede usar esto reemplazando su comando con lo siguiente (esto también comprimirá la carpeta usando gzip):

tar -czf Folder.tar.gz Folder
William T Froggard
fuente
Tar sin el "-" detrás de las opciones es la forma de hacerlo al estilo BSD, y también funciona con todas las versiones de 'tar' que conozco.
William T Froggard
No lo sabía y agregué el -que se muestra en la página de manual, obviamente no dudes en volver a editar el original.
user3439894