web-dev-qa-db-fra.com

Compressez le contenu d'un dossier sans inclure le dossier lui-même

J'ai un répertoire appelé folder qui ressemble à ceci:

folder
      -> root_folder
                    -> some files

Je souhaite compresser ce répertoire dans zipped_dir, J'ai essayé:

Zip -r zipped_dir.Zip folder/*

Mais cela génère un Zip qui ressemble à ceci:

zipped_dir
          -> folder
                   -> root_folder
                                 -> some files

en d'autres termes, il inclut le répertoire dont je souhaite compresser le contenu. Comment puis-je exclure ce répertoire parent du Zip, sans rien déplacer?

IE Je voudrais ce résultat final:

zipped_dir
          -> root_folder
                        -> some files
103
Juicy

Essayez d'utiliser cette commande (vous aurez l'idée)

cd folder; Zip -r ../zipped_dir.Zip *

Il y a peut-être une autre façon, mais c'est la plus rapide et la plus simple pour moi :)

98
Romeo Ninov

Utilisation -j; par exemple: Zip -r -j zipped_dir.Zip folder/*

Il ne compressera pas 'root_folder'.

44
A.B.
Zip -r -D zipped.Zip *

-D indique à Zip de ne pas créer de répertoires.

7
L. Austin

C'est ce qui fonctionne pour moi:

7z a zipped.Zip ./rootDir/*

Il créera une archive Zip avec root: tous les fichiers/répertoires à l'intérieur de rootDir. par exemple

zipped.Zip:
     file1.txt
     otherdir/
        file2.txt
4
Marinos An