zip 实用程序,当作为 zip -r out.zip base/*
调用时在这个目录结构上
.
./base
./base/b
./base/b/c
./base/d
创建以下结果
adding: base/b/ (stored 0%)
adding: base/b/c (stored 0%)
adding: base/d (stored 0%)
我想从以下输出中获取包含数据的文件
adding: b/ (stored 0%)
adding: b/c (stored 0%)
adding: d (stored 0%)
我希望 -j 选项可以帮助我,但它没有:它完全扁平化了目录结构。目前,我找到的唯一解决方案是 cd 进入 base 并从这里调用 zip,但我想知道是否有一个电源开关,我无法在文档中识别出这样的电源开关。
最佳答案
我明白你不想cd
, 但...
如果所有其他方法都失败并且您希望将 zip 调用保持在一行,则可以链接调用并使用相对路径在根目录中输出 zip:
对于 Windows:cd base & zip -r ..\out.zip * & cd ..
对于 Linux/Unix:cd base ; zip -r ../out.zip * ; cd ..
关于command-line - 如何在没有根目录的情况下将文件和目录添加到 zip 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1009501/