在 Unix 上解压缩档案有很多方法:
目标是在 Windows 上找到所有存档并将它们解压缩到它们自己的目录(找到每个存档的位置)中。
可选的:
- 解压后删除存档。
- 如果一个存档在解压缩期间有任何问题,请记录任何错误消息。
我正在寻找一个普通的 DOS 命令行,例如使用7z.exe
(包含在PeaZip的便携式版本中)。
在 Unix 上解压缩档案有很多方法:
目标是在 Windows 上找到所有存档并将它们解压缩到它们自己的目录(找到每个存档的位置)中。
可选的:
我正在寻找一个普通的 DOS 命令行,例如使用7z.exe
(包含在PeaZip的便携式版本中)。
我从Sevenzip 项目的这个线程中获取了一个命令行,稍作修改:
FOR /R %I IN (*src.zip) DO (C:\apps\peazip_portable-3.8.WINDOWS\res\7z\7z.exe x "%I" -aoa -o"%~dpI\*" |c:\windows\system32\find.exe "Everything is Ok" >nul &&DEL /F "%I" ||ECHO.%I : EXTRACT FAIL - ARC NOT DELETED >>ERR.TXT)
(多行可见性)
FOR /R %I IN (*src.zip) DO ( \
C:\apps\peazip_portable-3.8.WINDOWS\res\7z\7z.exe x "%I" -aoa -o"%~dpI\*"
|c:\windows\system32\find.exe "Everything is Ok" >nul &&DEL /F "%I"
||ECHO.%I : EXTRACT FAIL - ARC NOT DELETED >>ERR.TXT)
笔记:
c:\windows\system32\find.exe
" 而不是 just FIND
,因为我的(来自msysgit或gow)find.exe
上还有其他 ' ' 。PATH
&&DEL /F "%I"
如果要保留存档,请删除 ' ' 部分。我刚刚在两分钟内src.zip
从Rational Team Concert SDK中解压缩了 470 " " 文件!
这是一个老问题,但有人可能会觉得这很有用。这种方法适用于我使用 WinZip 和 WinZip 命令行插件,两者都可以在 WinZip 网站上为注册用户使用。
FOR /R %I IN (*.zip) DO (C:\Program Files (x86)\winzip\wzunzip.exe -ye "%I" "%~pI")
-ye 将以 zip 文件名命名文件夹。%I 是 zip 文件名 %~pI 是 zip 文件内容目标
随意在上一个答案中添加调试消息。在存储所有包含 zip 文件的子文件夹的文件夹中运行命令。