Mar*_*edy 8 windows cmd batch-file unzip
我想解压缩某个目录中的所有文件,并在解压缩时保留文件夹名称.
以下批处理脚本并不能完全解决问题.它只是抛出一堆文件而不将它们放入文件夹中,甚至没有完成.
这有什么不对?
for /F %%I IN ('dir /b /s *.zip') DO (
"C:\Program Files (x86)\7-Zip\7z.exe" x -y -o"%%~dpI" "%%I"
)
Run Code Online (Sandbox Code Playgroud)
Ans*_*ers 29
试试这个:
for /R "C:\root\folder" %%I in ("*.zip") do (
"%ProgramFiles(x86)%\7-Zip\7z.exe" x -y -o"%%~dpI" "%%~fI"
)
Run Code Online (Sandbox Code Playgroud)
或(如果要将文件解压缩到以Zip文件命名的文件夹中):
for /R "C:\root\folder" %%I in ("*.zip") do (
"%ProgramFiles(x86)%\7-Zip\7z.exe" x -y -o"%%~dpnI" "%%~fI"
)
Run Code Online (Sandbox Code Playgroud)
小智 5
Ansgar 上面的回答对我来说非常完美,但如果提取成功,我也想在之后删除档案。我找到了这个并将其合并到上面给出:
for /R "Destination_Folder" %%I in ("*.zip") do (
"%ProgramFiles%\7-Zip\7z.exe" x -y -aos -o"%%~dpI" "%%~fI"
"if errorlevel 1 goto :error"
del "%%~fI"
":error"
)
Run Code Online (Sandbox Code Playgroud)