J'essaie d'ajouter des fichiers décompressés à un dossier déjà compressé existant, par exemple new folder.Zip
. Est-il possible d'utiliser Zip -r new folder.Zip
après y avoir ajouté des fichiers décompressés? Cette commande compressera-t-elle le dossier? Y a-t-il une alternative pour ce faire?
Utilisez l'indicateur de mise à jour: -u
Exemple:
Zip -ur existing.Zip myFolder
Cette commande compressera et ajoutera myFolder
(et son contenu) au existing.Zip
.
tilisation avancée:
L'indicateur de mise à jour compare en fait les fichiers entrants avec ceux existants et ajoutera de nouveaux fichiers ou mettra à jour les fichiers existants.
Par conséquent, si vous souhaitez ajouter/mettre à jour un sous-répertoire spécifique dans le fichier Zip, mettez simplement à jour la source comme vous le souhaitez, puis recompressez la source entière avec le -u
drapeau. Seuls les fichiers modifiés seront zippés.
Si vous n'avez pas accès aux fichiers source, vous pouvez décompresser le fichier Zip, puis mettre à jour les fichiers souhaités, puis recompresser avec le -u
drapeau. Encore une fois, seuls les fichiers modifiés seront compressés.
Exemple:
Structure source d'origine
ParentDir
├── file1.txt
├── file2.txt
├── ChildDir
│ ├── file3.txt
│ ├── Logs
│ │ ├── logs1.txt
│ │ ├── logs2.txt
│ │ ├── logs3.txt
Structure source mise à jour
ParentDir
├── file1.txt
├── file2.txt
├── ChildDir
│ ├── file3.txt
│ ├── Logs
│ │ ├── logs1.txt
│ │ ├── logs2.txt
│ │ ├── logs3.txt
│ │ ├── logs4.txt <-- NEW FILE
tilisation
$ Zip -ur existing.Zip ParentDir
> updating: ParentDir/ChildDir/Logs (stored 0%)
> adding: ParentDir/ChildDir/Logs/logs4.txt (stored 96%)
Je pense que vous pouvez ajouter des fichiers en utilisant cette commande:
Zip -r zipfile.Zip newfile.txt newfile1.txt
Le -r
L'option de la commande Zip vous permet d'ajouter des fichiers.
J'ai utilisé avec succès la commande Zip
. avec l'option agrandir (-g), afin d'ajouter un sous-dossier folder1/folder2
contenant les fichiers fileA.txt
et fileB.txt
:
Zip -gr folder.Zip folder1/folder2
-r
signifie recurse dir.
D'après ma compréhension, -g devrait augmenter les fichiers Zip, pas créer un nouveau fichier Zip (qui peut être utile avec de très grandes archives Zip). En cas de problème, vous pouvez d'abord essayer de créer des sous-dossiers dans le dossier.Zipez avec (par exemple):
Zip -g folder.Zip folder1
Zip -g folder.Zip folder2
L'indicateur -u fonctionne pour les fichiers
Zip -ur Zip_to_upload.Zip file_to_add.txt
Cordialement
Si vous avez beaucoup de fichiers au même endroit avec votre archive Zip et que vous souhaitez tous les copier dans l'archive, vous pouvez faire:
Zip -ur zipfile.Zip !(zipfile.Zip)
Cela met à jour votre fichier Zip (le -u
option) récursivement (-r
option) avec tous les fichiers trouvés sauf le fichier Zip lui-même (!
est la négation du fichier zip)
Ensuite, vous pouvez simplement supprimer tous les fichiers sauf le fichier Zip en suivant la même règle ci-dessus:
rm !(zipfile.Zip)