我喜欢 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
是的你可以。
- 首先,定义要创建文件列表的根目录(例如,C:\RootDir)。
- 接下来,创建要存档的文件列表,并定义相对于根目录的路径(在步骤 1 中)。
- 将文件列表保存在单独的文件中,例如 D:\list.txt。
- 切换到根目录(使用 DOS 命令 cd C:\RootDir)
- 运行命令:C:\RootDir> "C:\Program Files\7-zip\7zip.exe" a -tzip d:\out .zip @"D:\list.txt" -scsWIN
就这些。:)