Tengo un directorio raíz con muchos subdirectorios diferentes que tienen archivos .zip (ejemplo a continuación). Necesito un lote / .cmd / etc para descomprimir los archivos zip en sus subdirectorios y cambiar el nombre del archivo extraído (a .tif) igual que el archivo zip. Investigué y encontré el siguiente código, sin embargo, esto solo funcionará cuando se coloque en los subdirectorios. No es la carpeta principal. ¿Cómo hago que este código funcione en todos los subdirectorios como se explica?
Estructura de archivo de ejemplo
C: \ This \ Is \ Random \ Parent \ Sub \ Sub \ 1234.zip {ABCD.tif}
Lo que estoy buscando C: \ This \ Is \ Random \ Parent \ Sub \ Sub \ 1234.tif
set work=%temp%\%random%%random%%random%%random%
mkdir "%work%" || goto :eof
for %%A in ('dir /b /s *.zip *.rar') do (
"%ProgramFiles%\7-Zip\7z.exe" e -o"%work%" "%%~A"
for %%F in ("%work%\*") do move "%%~F" "%%~nA%%~xF"
)
rmdir "%work%"
The system cannot find the file specified.
error. En la aclaración de los estándares, los datos se originan en un sitio web, escribí un raspado de Python que descarga los archivos .zip (más de 500,000 archivos .zip). El script de Python crea directorios basados en el Public Land Survey, primero por Township y luego en la Sección donde podría haber múltiples .zip únicos. ej.)C:\\data\Township\Section\ABC.zip
. Dentro del archivo .zip hay 1 archivo tif llamado1234.tif
archivo que debe extraerse en la carpeta de la sección correcta con el nombreABC.tif