使用压缩只7Z文件而不保存路径(Compressing only files using 7z wi

2019-07-29 13:49发布

我使用的7z命令行可执行zip文件,但我看到的是,虽然添加到存档文件的路径在归档保留。

所以,如果我做

7z a -tzip  myzip.zip dir1\dir2\*

归档myzip.zip将包含路径DIR1 \ DIR2。 我不希望这样的状态,我想只将文件添加到压缩文件,而不被保存的路径。 我搜索了不少,但似乎并没有发现这样做的任何方式,也许我失去了一些东西明显?

谢谢

Answer 1:

给出完整路径。 这应该工作。 不从当前位置的相对路径。 例如,我给下面的,在这里我想在MAN5文件夹中的文件进行归档。

$ 7z a -tzip myzip.zip /home/pradeeban/Desktop/man4/man5/*

拉链仅包含的文件,没有目录。

然后,我只给出了相对路径。 它有目录,Zip文件里。

$ 7z a -tzip myzip.zip Desktop/man4/man5/*

尝试使用Linux(Ubuntu的12.04)。 不知道是否是从Windows不同。



Answer 2:

就在路径之前,即增加一个点7z a -tzip -r myzip.zip .\Relative\Dir\*



Answer 3:

我发现了一种方法,通过使用相对路径来做到这一点:

7z a -tzip  myzip.zip %CD%\dir1\dir2\*

%CD%是你如何在Windows批处理文件获取当前路径,但它也通过命令行工作。 有关更多信息批处理文件捕获当前目录 。



Answer 4:

如在相关的问题解释的7-Zip用户的常见问题 ,7Z卖场相对于工作目录,路径,所以你需要先cd为存档所需的顶级目录并运行从这里7-ZIP。

cd dir1\dir2\
7z a -tzip  myzip.zip *

如果从脚本运行它,不想改变目录,使用目录推/弹出设施提供您所选择的壳或运行CD + 7-ZIP的衍生进程,以免影响您的整个脚本改变目录影响它。 例如,使用Windows的开始,这将是:

start /D dir1\dir2\ /wait 7z a -tzip  myzip.zip *


Answer 5:

这为我工作

考虑文件夹结构,如C:\父母\子文件夹.....你想创建parent.zip其中将包含所有文件和文件夹C:\父无父文件夹[即它将从子文件夹开始.....]

cd /D "C:\Parent"

"7z.exe" a Parent.zip "*.*" -r

这将在C上创建Parent.zip:\父



文章来源: Compressing only files using 7z without preserving the path