我无法为我的生活找到答案。因为我以特定的方式打包一个zip用于构建过程,所以我不想在根目录下的结果zip中包含一个文件夹。例如,如果我有这个文件路径:
MyFolder/
A.png
B.txt
C.mp3
我使用命令:
zip -r -X "MyFolder.zip" MyFolder/*
或
cd MyFolder; zip -r -X "../MyFolder.zip" *
我最终获得了一个包含MyFolder根元素的zip文件。我想要的是当我解压缩它是将所有这些转储到目录中,如下所示:
A.png
B.txt
C.mp3
换句话说,我不希望MyFolder或任何其他文件夹作为根目录。我仔细阅读了整本手册,并尝试了大量的选项和大量的Google搜索,而zip似乎只是真的希望在根目录下有一个文件夹。
谢谢!
答案 0 :(得分:36)
这是Archive Utility的错(Mac OS X unzipper应用程序)。当我从命令行使用unzip命令时,效果很好。
cd MyFolder; zip -r -X "../MyFolder.zip" *
答案 1 :(得分:8)
偶然发现了这个答案但不想改变目录。我发现-j
选项很有用,它将所有文件添加到zip的根目录。请注意,它是所有文件,因此不会保留子目录结构。
所以使用这个文件夹结构:
MyFolder
- MyFile1
- MySubFolder
- MyFile2
这个命令:
zip -rj MyFolder.zip MyFolder
你明白了:
MyFolder.zip
- MyFile1
- MyFile2
答案 2 :(得分:1)
我发现了使用Mac(mac os)上的终端应用程序 加密的zip文件 的更简单方法,只需从文件夹中的文件。
终端命令
zip -j -e wishedname.zip yourfolder/*
就是这样。享受吧!
*
有关在终端应用程序中 zip命令的更多信息
man zip
-j 和 -e 做什么?
-j
--junk-paths
Store just the name of a saved file (junk the path), and do not store directory names. By default, zip will store the full path (relative to the current directory).
-e
--encrypt
Encrypt the contents of the zip archive using a password which is entered on the terminal in response to a prompt (this will not be echoed; if standard error is not a tty, zip will exit with an error). The password prompt is repeated to save the user from typing errors.