如何在 7-zip 命令行中指定相对路径?

如何在 7-zip 命令行中指定相对路径?

我喜欢 7-zip,今天需要它的命令行。我遇到了一个问题。

有没有办法指定路径之内压缩的时候要存档吗?

例如我有一个文件C:\some_dir\my_file.txt。压缩时我想指定目标路径在\other_dir\my_file.txt档案内。

这可能吗?这似乎是相当常见的事情。

答案1

7zip 实用程序和我知道的任何归档程序都不直接支持此功能。但是,您可以创建一个与归档中想要的内容相匹配的目录结构,将文件复制到适当位置,然后将其归档... 无论如何,看到 GUI 中存在该功能,但在命令行中却缺失,这真是令人遗憾。

答案2

您可以使用 7zip 的‘rn’命令行上的命令:

7z rn archive.7z my_file.txt \other_dir\my_file.txt

这会将您已压缩的文件放入不同的(内部)存档文件夹中。这仅适用于已创建的存档。

如果你需要“other_dir”是某个相对路径(而不是随机目录),你可以使用当前工作目录并通过相对的文件名到该目录。

答案3

首先创建包含要备份的文件的相对路径的列表文件。然后使用该列表文件作为以“@”开头的输入文件

7zip.exe a archive.7z @listfile.txt

ListFile 应该如下所示:

doc\Text.txt
vid\movie.avi

不过,我没有用通配符测试过。7zip 版本是 18.05

答案4

是的你可以。

  1. 首先,定义要创建文件列表的根目录(例如,C:\RootDir)。
  2. 接下来,创建要存档的文件列表,并定义相对于根目录的路径(在步骤 1 中)。
  3. 将文件列表保存在单独的文件中,例如 D:\list.txt。
  4. 切换到根目录(使用 DOS 命令 cd C:\RootDir)
  5. 运行命令:C:\RootDir> "C:\Program Files\7-zip\7zip.exe" a -tzip d:\out .zip @"D:\list.txt" -scsWIN

就这些。:)

相关内容