我在一个文件夹中有300个zip文件(但将来可能会获得其他类型的存档),我需要将每个zip文件解压缩到存档名称的子文件夹中。
我已经在命令行中尝试了本机7zip选项,但仍无济于事,在7zip FAQ中也没有遇到任何麻烦。最终分批尝试了“ forfiles”,这似乎可以提供更好的结果,但无法使其正常工作。
这是我最后尝试的方法:
forfiles /m *.zip /c "C:\tool\7-Zip\7z.exe e -o@path @file"
但是无法获得任何结果,这是我通过4个zip示例获得的结果:
C:\Users\tracto\test>forfiles /m *.zip /c "C:\tool\7-Zip\7z.exe e -o@path @file"
7-Zip [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18
Error:
Incorrect command line
7-Zip [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18
Error:
Incorrect command line
7-Zip [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18
Error:
Incorrect command line
7-Zip [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18
Error:
Incorrect command line
我会尽一切可能的帮助。
答案 0 :(得分:3)
7zip中有一个内置命令。
此命令行会将当前目录(e *.zip
)中的所有zip文件提取到带有存档名称(-o*
)的目录中。
C:\tool\7-Zip\7z.exe e *.zip -o*
答案 1 :(得分:0)
实际上我做了一个被注册表调用的批处理:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\shell\unziptofolders]
"icon"="%SystemRoot%\\system32\\shell32.dll,45"
@="Unzip All"
[HKEY_CLASSES_ROOT\Directory\shell\unziptofolders\command]
@="cmd /min /c \"C:\\tool\\7-Zip\\7z-grpfolder.bat %1\""
在该批次中具有以下内容:
@echo off
cd %1
C:\tool\7-Zip\7z.exe e *.zip -o*
像魅力一样工作。
非常感谢您的帮助!