
Soy un poco nuevo en el mundo de las secuencias de comandos y esto es con lo que me gustaría pedir ayuda, por favor. Estoy buscando un script por lotes para ejecutar en cmd.exe.
Tengo una carpeta con cientos de archivos .7z. Cada archivo consta de un archivo. La carpeta también contiene 7-zip.exe y tool.exe que se utilizan más adelante en el script.
Tome el primer archivo, extraiga usando 7-zip y coloque la salida enTemperaturasubcarpeta.
Utilice otra herramienta para convertir el archivo de entrada enTemperaturay enviar el archivo resultante aProcesadasubcarpeta.
El comando para la herramienta en cuestión es ---> tool.exe -i "ruta al archivo de entrada con extensión .abc" -o "ruta al archivo de salida con extensión .def" -f xxx -c yyy -lz -b zzzzzz <---.
Eliminar el archivo fuente deTemperaturacarpeta.
Pasar al siguiente archivo .7z y así sucesivamente.
Muchas gracias de antemano por la ayuda.
Respuesta1
Por la información que me pasaste supongo que sería algo como esto:
@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