批量提取 7z 文件并将每个输出用作另一个工具的输入

批量提取 7z 文件并将每个输出用作另一个工具的输入

我对脚本编写还不太熟悉,以下是我想寻求帮助的地方。我正在寻找一个针对 cmd.exe 运行的批处理脚本。

  1. 我有一个文件夹,里面有数百个 .7z 档案。每个档案都包含一个文件。该文件夹还包含稍后在脚本中使用的 7-zip.exe 和 tool.exe。

  2. 获取第一个存档,使用 7-zip 提取并将输出放在温度子文件夹。

  3. 使用其他工具将输入文件转换为温度并将结果文件输出至处理子文件夹。

  4. 该工具的命令是 ---> tool.exe -i "扩展名为 .abc 的输入文件路径“-o”带有 .def 扩展名的输出文件路径“-f xxx -c yyy -lz -b zzzzzz <---。

  5. 删除源文件温度文件夹。

  6. 移至下一个 .7z 档案等等。

非常感谢您的帮助。

答案1

根据你传递给我的信息,我猜应该是这样的:

@echo off

for %%a in (*.7z) do call :Extract "%%~na" "%%a"

exit

:Extract
md "%~1.tmp"
7-zip.exe x "%~2" -o"%~1.tmp\"
for /f "Delims=" %%a in ('dir /b "%~1.tmp\*.abc"') do set ABCFile=%%~na

tool.exe -i "%~1.tmp\%ABCFile.abc%" -o "%ABCFile%.def" -f xxx -c yyy -l z -b zzzzzz
rd /q /s "%~1.tmp"
goto :EOF

相关内容