géomatique....HELP !

Une difficulté, une précision posez vos questions

Modérateur : WIN32-[GG]

remidici
Batcheur occasionnel
Messages : 7
Enregistré le : 12 janv. 2018 15:47

Re: géomatique....HELP !

Message par remidici »

je teste ça demain. ;)
remidici
Batcheur occasionnel
Messages : 7
Enregistré le : 12 janv. 2018 15:47

Re: géomatique....HELP !

Message par remidici »

yalla ! on y est arrivés
J'avais trouvé une solution moi meme mais en ajoutant une boucle for... :roll: ainsi qu'une variable :roll: :roll:
Je n'avais pas encore pris connaissance du "find" qui est très pratique.

J'ai repris votre script pour finalement garder les dossiers d'origine (com-001.....) et supprimer tout le contenu sauf mes fichiers résultat.
J'ai aussi changé %%~nX%%~xX en %%~nxX qui est la même chose du peu que j'en sais ;-) (fin de la ligne 11)
Voilà ce que ça donne:

Code : Tout sélectionner

@echo off
setlocal enableextensions
set WORKSPACE=C:\test_stage\comm
set archiveur=C:\Program Files\7-Zip\7z.exe
set /p ANNEE="Saisir l'annee: "
set startTime=%time%

cd /d %WORKSPACE% || exit /B 1
for /f "tokens=*" %%A in ('dir /b /s "*.bz2"') do (call :fonction "%%~A" "%archiveur%")

cd /d %WORKSPACE%
for /f "tokens=*" %%B in ('dir /b') do (

for %%X in (%%~B\TEMP\*) do (copy "%%~B\TEMP\%%~nxX" "%WORKSPACE%\%%~B\%%~nB_%ANNEE%_%%~nxX")

for /f "tokens=*" %%X in ('dir /b /ad "%%~dpnB" ^| find "feuille"') do (RMDIR /s /q "%%~dpnB\%%~X")
for /f "tokens=*" %%X in ('dir /b /ad "%%~dpnB" ^| find "TEMP"') do (RMDIR /s /q "%%~dpnB\%%~X")

)
cls
echo "TERMINE !"
echo Start Time: %startTime%
echo Finish Time: %time%
pause
endlocal
exit


:fonction
%2 e "%~1" -o"%~dp1\TAR\" -r >nul
%2 e "%~dp1\TAR\%~n1" -o"%~dp1\FEUILLES\" -r >nul

echo. & echo Decompression de [%~nx1]
echo Extraction de [%~n1]
echo.

if not exist "%~dp1\FEUILLES_SHP" (MKDIR "%~dp1\FEUILLES_SHP")
call ogr2ogr -f "ESRI Shapefile" %~dp1\FEUILLES_SHP %~dp1\FEUILLES\*.THF

if not exist "%~dp1\COMMUNE" (MKDIR "%~dp1\COMMUNE")
call ogr2ogr -f "ESRI Shapefile" -s_srs EPSG:3944 -t_srs EPSG:3944 -append %~dp1\COMMUNE %~dp1\FEUILLES_SHP

pushd %~dp1
cd ..
if not exist "TEMP" (MKDIR "TEMP")
call ogr2ogr -f "ESRI Shapefile" -s_srs EPSG:3944 -t_srs EPSG:3944 -append TEMP %~dp1\COMMUNE
popd
cls
 
J'ai fais travailler mon code trouvé seul la nuit dernière et il lui a fallu 17 heures !!
Je vais faire un test comparatif demain soir avec celui ci.
Encore merci
barnabe0057
SuperBatcher
Messages : 105
Enregistré le : 24 janv. 2017 13:41

Re: géomatique....HELP !

Message par barnabe0057 »

Ok ben c'est cool si ça marche.

Petite remarque : le FOR avec FIND "TEMP" n'est pas utile puisqu'il y a un seul TEMP par dossier, tu peux directement utiliser RMDIR.

Le FIND est très pratique mais ça ralentit le script, on peut pas avoir le beurre et l'argent du beurre :D

Si tu veux optimiser le script fais-moi signe, sinon bonne continuation.
Répondre