我运行的是 Windows 10,但我也需要它在 Windows 7 上运行。
我有file.zip
一个包含x
zip 文件的文件,每个文件也包含x
zip 文件。我如何才能“不手动”提取所有这些文件?IE 用 bach 文件还是 python 脚本?
答案1
下面是我以前使用过的方法,用于完成你描述的相同类型的任务,我从我的一个“脚本包“。我使用了免费的7-Zip此项任务的申请成功率为 100%。
本质上这...
- 使用 7-Zip (7za) 应用程序将一个位置的 zip 文件内容提取到另一个位置
- 然后它复制将提取的 ZIP 文件复制到初始提取的文件中,并将其复制到工作目录
- 然后它从源中删除 ZIP 文件,并从工作目录中提取其他 zip 文件并循环,直到完成
笔记:可能需要将 7za 可执行文件复制到/system32
文件夹中,或者可能需要将其所在的路径设置到PATH
环境变量中。
批处理脚本
您将需要根据您的环境和需求相应地设置源、目标和工作目录变量值,其余部分应该按预期工作。
@ECHO ON
SET sourcedir=C:\Test\Source
SET destdir=C:\Test\Dest
SET workdir=C:\Test\WorkTemp
:unzip
7za -Y e "%sourcedir%" -o"%destdir%" -r
DEL /Q /F "%workdir%\*zip
XCOPY /Y /F %destdir%\*.zip "%workdir%"
DEL /Q /F %destdir%\*.zip
DIR "%workdir%\*.zip" /A-D
IF ERRORLEVEL 1 GOTO :done
:unzip2
7za -Y e "%workdir%" -o"%destdir%" -r
DEL /Q /F "%workdir%\*.zip"
XCOPY /Y /F %destdir%\*.zip "%workdir%"
DEL /Q /F %destdir%\*.zip
DIR "%workdir%\*.zip" /A-D
IF ERRORLEVEL 1 GOTO :done
GOTO :unzip2
:done
GOTO :EOF