我需要迭代一个文件夹,对于每个zip文件,我需要使用它的名称来提取它。也就是说,如果它的test.zip然后它应该提取到测试文件夹。同样,它应该遍历我的文件夹及其子文件夹并提取内容。我编写了下面的代码,但它没有提取zip的名称。请指教。
cd %CD%\Setups
for /r %%i in ("*.zip") do (
echo "%%~fi"
"C:\Program Files (x86)\WinRAR\WinRAR.exe" a -afzip "%%~dpi" "%%~fi"
echo came after unzipping
del /S /Q "%%~fi"
)
exit \b
答案 0 :(得分:1)
使用Winrar.exe
提取zip文件的语法如下:
[path \ winrar.exe] x [zip文件的路径] [要提取的文件,。对全部 文件] [要提取到的路径文件夹]
@echo off
set winrar=%ProgramFiles%\WinRAR\WinRAR.exe
CD /D %CD%\Setups
for /f "delims=" %%i in ('Dir /b *.zip') Do ("%Winrar%" x "%%~fi" "%%~dpni\")
pause
编辑于2016年6月28日@ 13:35
如果您希望此切换-ibck
在后台运行WinRAR,也可以添加
@echo off
set winrar=%ProgramFiles%\WinRAR\WinRAR.exe
CD /D %CD%\Setups
for /r %%i in ("*.zip") Do ("%Winrar%" x -ibck "%%~fi" "%%~dpni\")
pause