7zip / winrar命令用于将路径完整的文件夹提取到特定文件夹但不包括父源路径

时间:2014-04-19 14:30:14

标签: command 7zip

例如

有一个文件“sample.rar”。

文件夹结构是:“上升\黎明\”,此档案中有很多(folders1,folders2和file1,file2)。

我使用了以下命令

7z.exe x "sample.rar" "rising\dawn\*" -oi:\delete

结果是: “rising \ dawn \”中的所有文件和文件夹都被解压缩到“i:\ delete”文件夹,但空目标文件夹“rising \ dawn \”也会在目标文件夹中创建。

e.g。目的地看起来:

i:\delete\rising\dawn\folder1\file1.bmp

i:\delete\rising\dawn\folder2\subfolder

i:\delete\rising\dawn\file1.txt

i:\delete\rising\dawn\file2.txt

我不希望创建“上升\黎明”空文件夹,但此处的文件夹结构必须与存档中的文件夹结构相同。

我想要结果:

i:\delete\folder1\file1.bmp

i:\delete\folder2\subfolder

i:\delete\file1.txt

i:\delete\file2.txt

最后我找到了解决方案。感谢winrar的支持。我已经接受了以下答案。

如果您发现问题有用,请不要忘记点击向上投票按钮。

4 个答案:

答案 0 :(得分:1)

您可以正常提取档案和

1)将较低级别的文件夹/文件移动到您想要的位置,然后执行 2)删除额外的顶级档案文件夹。

这样做的代码取决于具体的任务。

答案 1 :(得分:1)

使用e命令代替x并添加-r选项效果很好。

像这样:

7z.exe e -r "sample.rar" "rising\dawn\*" -oi:\delete

我的可执行版本是" 7-Zip [64] 9.20 2010-11-18", 该平台是Windows 8.1。

此命令行消除了不必要的父文件夹,并保留了文件夹的层次结构。

答案 2 :(得分:0)

您需要使用e命令而不是x命令:

7z.exe e "sample.rar" "scholar\update\*" -oi:\delete

使用e而不是x意味着7zip将所有匹配的文件提取到同一文件夹中(通过-so开关指定,或者如果未指定,则提取当前目录),而不是保留存档内的文件夹结构。

答案 3 :(得分:0)

最后这给了我结果。

感谢winrar支持。

rar x -ep1 sample.rar rising\dawn\* d:\e\delete\

我在这里给出了其他答案,这是唯一正确的答案 不要忘记upvote。