2009-06-17 10 views
5

El programa de utilidad de compresión, cuando se invoca como zip -r out.zip base/* en esta estructura de directorios¿Cómo agregar archivos y directorios a un archivo zip sin el directorio raíz?

. 
./base 
./base/b 
./base/b/c 
./base/d 

crea el siguiente resultado

adding: base/b/ (stored 0%) 
    adding: base/b/c (stored 0%) 
    adding: base/d (stored 0%) 

me gustaría obtener un archivo que contiene los datos a partir de la siguiente salida

adding: b/ (stored 0%) 
    adding: b/c (stored 0%) 
    adding: d (stored 0%) 

Esperaba la opción -j para ayudarme, pero no: aplana por completo el directorio stru cture. Por el momento, la única solución que encontré es hacer un cd en la base e invocar zip desde aquí, pero me preguntaba si hay un conmutador de potencia que no reconozco como tal en los documentos.

+0

¿Qué utilidad o sistema operativo está utilizando? – Pedro

+0

Similar a http://stackoverflow.com/questions/3630167/zip-command-without-including-the-compressed-dir-itself – ryenus

Respuesta

4

entiendo que usted no quiere cd, pero ...

Si todo falla y usted está esperando para mantener su llamada a zip a una sola línea, se puede encadenar las llamadas y el uso de un pariente camino a la salida postal en la raíz:

para Windows:

cd base & zip -r ..\out.zip * & cd ..

para Linux/Unix:

cd base ; zip -r ../out.zip * ; cd ..

Cuestiones relacionadas