批次提取 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

相關內容