我使用的7z命令行可执行zip文件,但我看到的是,虽然添加到存档文件的路径在归档保留。
所以,如果我做
7z a -tzip myzip.zip dir1\dir2\*
归档myzip.zip将包含路径DIR1 \ DIR2。 我不希望这样的状态,我想只将文件添加到压缩文件,而不被保存的路径。 我搜索了不少,但似乎并没有发现这样做的任何方式,也许我失去了一些东西明显?
谢谢
我使用的7z命令行可执行zip文件,但我看到的是,虽然添加到存档文件的路径在归档保留。
所以,如果我做
7z a -tzip myzip.zip dir1\dir2\*
归档myzip.zip将包含路径DIR1 \ DIR2。 我不希望这样的状态,我想只将文件添加到压缩文件,而不被保存的路径。 我搜索了不少,但似乎并没有发现这样做的任何方式,也许我失去了一些东西明显?
谢谢
给出完整路径。 这应该工作。 不从当前位置的相对路径。 例如,我给下面的,在这里我想在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不同。
就在路径之前,即增加一个点7z a -tzip -r myzip.zip .\Relative\Dir\*
我发现了一种方法,通过使用相对路径来做到这一点:
7z a -tzip myzip.zip %CD%\dir1\dir2\*
%CD%是你如何在Windows批处理文件获取当前路径,但它也通过命令行工作。 有关更多信息批处理文件捕获当前目录 。
如在相关的问题解释的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 *
这为我工作
考虑文件夹结构,如C:\父母\子文件夹.....你想创建parent.zip其中将包含所有文件和文件夹C:\父无父文件夹[即它将从子文件夹开始.....]
cd /D "C:\Parent"
"7z.exe" a Parent.zip "*.*" -r
这将在C上创建Parent.zip:\父