如何替换 zip 中的文件

如何替换 zip 中的文件

我正在处理*.jar文件,据我所知,它是一种存档格式,我可以使用标准工具(如zipunzip命令)进行操作。

我经常需要替换已压缩的文件。到目前为止,我解压,删除旧文件,将新文件移动到合适的位置(这是一个源存档,因此高度分层),然后我重新压缩它。

是否可以做得更快?这将是 3 个信息:要替换的文件、要替换的目标存档以及要替换到存档中的文件的路径。

答案1

您可以分两步完成:

zip -d myjar.jar path/to/file/to/delete
jar uf myjar.jar -C base/path path/to/file/to/add

-C base/path如果您已经位于基本目录(包含)中,则可以忽略该部分path/to/file/to/add

当使用 JAR 而不是普通的 ZIP 文件时,您应该养成尽可能使用jar而不是使用的习惯;zip它确保清单正确存储。

使用普通 ZIP 文件,您只需通过(重新)存档即可添加或更新文件;因此,不要使用上面的命令,而是jar使用:

zip myzip.zip path/to/file/to/add

您需要位于基本目录中才能正常工作。 (也可以工作,但是在使用 ZIP 文件时jar需要这样做很奇怪。)jar

相关内容