J'ai un dossier d'environ 180 Go, je dois le compresser comme:
zip -p password /Volumes/GGZ/faster/mybigfolder/* /Volumes/Storage\ 4/archive.zip
Mais ça dit:
zip warning: name not matched: /Volumes/Storage 4/archive.zip
Alors, comment dois-je faire cela? Sur une autre note, archive.zip
n'existe pas, mais j'essaye de le créer.
zip -P password /Volumes/Storage\ 4/archive -p /Volumes/GGZ/faster/mybigfolder/*
Réponses:
Votre commande doit être:
La page de manuel (
man zip
), montre que vous devriez avoir:De plus, l'
-r
option de récursivité est fortement recommandée par rapport au glob de shell "*" pour cela.la source
winzip32.exe -a -r %DEST_PATH%\Output.zip %DEST_PATH%\Output.zip %SOURCE_PATH%\*.*
, vous tapez accidentellementwinzip32.exe -a -r %DEST_PATH%\Output.zip %DEST_PATH%\Output.zip %SOURCE_PATH%\*.*
. Notez l'extraOutput.zip
... facile à faire!Cette erreur peut également être provoquée par la compression de liens symboliques dans l'arborescence de répertoires.
Si ceux-ci n'ont pas de destinations correctes (peut-être parce que le répertoire a été déplacé ou copié d'ailleurs), zip tentera de suivre le lien symbolique pour archiver le fichier cible.
Vous pouvez éviter cela (et également obtenir l'effet que vous souhaitez probablement de toute façon, qui n'est pas d'archiver plusieurs copies du fichier) en utilisant l' option
-y
(ou--symlinks
).la source
Utilisez l'indicateur récursif (
-r
) au lieu de glob (*
) pour faire correspondre les fichiers à compresser. De plus, spécifiez d'abord le nom de l'archive, puis donnez la liste des fichiers:la source
J'ai également eu cette erreur dans le passé pour une raison différente que le
-r
commutateur ne peut pas résoudre. Ce qui s'est passé, c'est que j'ai basé des fichiers à ajouter au zip avec le code / variable bash suivantLe problème est qu'il
ls
répertorie simplement les fichiers comme s'ils se trouvaient dans le répertoire en cours et c'est pourquoizip
se plaint (essentiellement les fichiers n'existent pas pour compresser car il est dit de regarder dans le mauvais répertoire / actuel).Si c'est votre problème, vous pouvez le corriger comme suit:
Comme vous pouvez le voir, j'ai utilisé le
-d
commutateur et également/*
à la fin du nom du répertoire, puis les fichiers ont été ajoutés avec succès.la source