macOS 控制台上的 7za ax(添加文件除外)语法。

7za ax (add files excluding) syntax at macOS console.

7za 帮助列出了存档中 including/excluding 个文件的以下开关:

  -ai[r[-|0]]{@listfile|!wildcard}: Include archives
  -ax[r[-|0]]{@listfile|!wildcard}: eXclude archives

假设我想打包 My DirectoryMyArchive.zip 不包括子目录 Irrelevant.

我尝试了以下方法

7za -ax"My Directory/Irrelevant" -tzip MyArchive.zip "My Directory"

7za a -x"My Directory/Irrelevant" -tzip MyArchive.zip "My Directory"

7za a -x@"My Directory/Irrelevant" -tzip MyArchive.zip "My Directory"

7za a -x"@My Directory/Irrelevant" -tzip MyArchive.zip "My Directory"

7za a -x"Irrelevant" -tzip MyArchive.zip "My Directory"

这两个都不被识别。

正确的语法是:

7za a -x\!"My Directory/Irrelevant/*" -tzip MyArchive.zip "My Directory"

甚至这个

7za a -x\!"My Directory/Irrelevant" -tzip MyArchive.zip "My Directory"

请注意感叹号前的“\”,否则 bash 将处理“!”作为一个事件。试图把'!'在引号下 - 没有用。