J'ai un répertoire racine avec de nombreux sous-répertoires différents contenant des fichiers .zip (exemple ci-dessous). J'ai besoin d'un lot / .cmd / etc pour décompresser les fichiers zip dans leurs sous-répertoires et renommer le fichier extrait (un fichier .tif) de la même manière que le fichier zip. J'ai fait des recherches et trouvé le code suivant, mais cela ne fonctionnera que s'il est placé dans les sous-répertoires. Pas le dossier parent. Comment faire en sorte que ce code fonctionne dans tous les sous-répertoires, comme expliqué?
Exemple de structure de fichier
C: \ This \ Is \ Random \ Parent \ Sub \ Sub \ 1234.zip {ABCD.tif}
Ce que je recherche 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.
erreur. Pour clarifier les normes, les données proviennent d’un site Web, j’ai écrit un texte en python téléchargeant les fichiers .zip (plus de 500 000 fichiers .zip). Le script python crée des répertoires basés sur l’enquête sur les terres publiques, d’abord par canton, puis de sections où il pourrait y avoir plusieurs fichiers .zip uniques. ex.)C:\\data\Township\Section\ABC.zip
. Dans le fichier .zip, il y a 1 fichier tif nommé.1234.tif
Le fichier doit être extrait dans le dossier de section approprié portant le nomABC.tif