Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/154.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Recursion 7zip命令行-递归解压缩所有压缩文件_Recursion_Command Line_Extract_7zip - Fatal编程技术网

Recursion 7zip命令行-递归解压缩所有压缩文件

Recursion 7zip命令行-递归解压缩所有压缩文件,recursion,command-line,extract,7zip,Recursion,Command Line,Extract,7zip,我的台式计算机上有7zip,地址是:c:\program files\7-zip\7z.exe。我还有两个结构相似的映射驱动器,驱动器X和驱动器Y。下面是源代码的示例 Drive X X:\Sourcefolder\Folder1\file1.zip X:\Sourcefolder\Folder1\file2.zip X:\Sourcefolder\Folder2\file3.zip X:\Sourcefolder\Folder3\file4.zip 目标文件夹结构如下所示: Drive Y

我的台式计算机上有7zip,地址是:c:\program files\7-zip\7z.exe。我还有两个结构相似的映射驱动器,驱动器X和驱动器Y。下面是源代码的示例

Drive X
X:\Sourcefolder\Folder1\file1.zip
X:\Sourcefolder\Folder1\file2.zip
X:\Sourcefolder\Folder2\file3.zip
X:\Sourcefolder\Folder3\file4.zip
目标文件夹结构如下所示:

Drive Y
Y:\DestFolder\Thing1\Folder1\[file1.zip contents and subfolders]
Y:\DestFolder\Thing1\Folder1\[file2.zip contents and subfolders]
Y:\DestFolder\Thing1\Folder2\[file3.zip contents and subfolders]
Y:\DestFolder\Thing1\Folder3\[file4.zip contents and subfolders]
驱动器Y上的文件夹(DestFolder\Thing1\Folder1、2和3)已创建。其中一些可能已经包含其他文件和子文件夹

我可以运行以下命令行并解压缩内容:

for /R %i IN (*.zip) DO "c:\program files\7-zip\7z.exe" x "%i" -o"Y:\DestFolder\Thing1\Folder1"
但是,在映射的驱动器上,我看到一个新的结构,这正是我在命令行的第二组引号中看到的,即使那些文件夹已经存在。到目前为止,我只在空文件夹上测试过它,因为我担心它可能会损坏那里的任何现有文件。我可以在它们之间导航,并且可以将文件剪切并粘贴到正确的文件夹中

为什么7zip“创建”重复的文件夹结构以将文件解压缩到其中?我知道
-o
开关允许您指定目标目录,但它没有在帮助文件中说明它创建了目标目录,或者如果它已经存在会发生什么

我应该使用另一个命令行参数将这些zip文件解压缩到适当的文件夹中吗?谢谢