如何使用DOS命令以编程方式在Windows上的自己的目录中解压缩存档?

Von*_*onC 6 windows recursion dos unzip

有很多方法可以在Unix上解压缩档案:

目标是在Windows上查找所有存档并将它们解压缩到自己的目录(找到每个存档的位置).
可选的:

  • 解压缩后删除存档.
  • 如果一个存档在解压缩期间有任何问题,请记录任何错误消息.

我正在寻找一个普通的DOS命令行,例如,使用7z.exe它(包含在便携版PeaZip中).

Von*_*onC 7

我从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)
Run Code Online (Sandbox Code Playgroud)

(多线可见度)

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)
Run Code Online (Sandbox Code Playgroud)

笔记:

  • 我更喜欢指定" c:\windows\system32\find.exe"而不是仅仅FIND,因为我有其他' find.exe'在我PATH(来自msysgit,或gow).
  • &&DEL /F "%I"如果要保留档案,请删除" "部分.

我只需两分钟即可src.zipRational Team Concert SDK中解压缩470" " !