@echo off setlocal enabledelayedexpansion chcp 65001 >nul REM !!!!! IMPORTANT !!!!! REM IL FAUT NOTER DANS LE SCRIPT LE CHEMIN REM D'AXIIMPORT DE CHAQUE PRAT APRES INSTALL REM NOTEPAD S'OUVRE POUR Y METTRE REM LE CHEMIN RESEAU SI NECESSAIRE REM !!!!! IMPORTANT !!!!! REM LES PHOTOS ET PDF SONT A DÉPOSER EN LOCAL REM LES FICHIERS DU SCRIPT SONT COPIÉS EN LOCAL set "REP_IMPORT_AXI=C:\Users\Public\Données Axilog\Data\xml\AxiImport" set "MAGIC_EXE=C:\Program Files\ImageMagick-7.1.1-Q16-HDRI\magick.exe" set "REP_PHOTOS=C:\Users\Public\Données Axilog\Data\piecesjointes\PHOTOS" set "REP_CPS=C:\Users\Public\Données Axilog\Data\piecesjointes\CPS" set "FICHIER_AXI=C:\Users\Public\Données Axilog\Data\piecesjointes\CPS\AxiMessage.axi" set "PREVIEW=C:\Users\Public\Données Axilog\Data\piecesjointes\CPS\preview.html" REM Définit les dimensions des photos redimensionnées (1920x1080 pixels) set "largeurMAX=1920" set "hauteurMAX=1080" set COMPTEUR=0 set "Error_LOG=C:\Users\Public\Données Axilog\Data\piecesjointes\CPS\PHOTO2PDF2AXI_ERREUR.log" set "LOG=C:\Users\Public\Données Axilog\Data\piecesjointes\CPS\PHOTO2PDF2AXI.log" mkdir "C:\Users\Public\Données Axilog\Data\piecesjointes\PHOTOS" >nul 2>&1 ECHO VERIFICATIONS ET DEPLOIEMENTS ECHO. ECHO CONTROLE %REP_CPS% if exist "%REP_CPS%" GOTO REP_CPS_OK ECHO CRéATION DU RéPERTOIRE CPS mkdir "%REP_CPS%" powershell -command "Invoke-WebRequest -Uri 'http://cps.tech.free.fr/CPS/%SCRIPT_VERSION%' -OutFile '%REP_CPS%\PHOTO2PDF2AXI.cmd' powershell -command "Invoke-WebRequest -Uri 'http://cps.tech.free.fr/CPS/AxiMessage.axi' -OutFile '%REP_CPS%\AxiMessage.axi' powershell -command "Invoke-WebRequest -Uri 'http://cps.tech.free.fr/CPS/preview.html' -OutFile '%REP_CPS%\preview.html' :REP_CPS_OK ECHO REP CPS OK ECHO. ECHO CONTROLE INSTALLATION IMAGE MAGICK if exist "%MAGIC_EXE%" GOTO MAGIC_EXE_OK ECHO DL et INSTALLATION DE IMAGE_MAGICK powershell -command "Invoke-WebRequest -Uri 'http://cps.tech.free.fr/CPS/ImageMagick-7.1.1-27-Q16-HDRI-x64-dll.exe' -OutFile '%REP_CPS%\ImageMagick.exe' start "" /wait "%REP_CPS%\ImageMagick.exe" :MAGIC_EXE_OK ECHO IMAGE MAGIK OK ECHO. ECHO CONTROLE %FICHIER_AXI% REM Vérifier si le fichier à copier existe if exist "%FICHIER_AXI%" GOTO FICHIER_AXI_OK ECHO %DATE% %TIME% : %FICHIER_AXI% introuvable. Verifiez le chemin>>"%Error_LOG%" exit /b 1 :FICHIER_AXI_OK ECHO FICHIER AXI OK ECHO. ECHO CONTROLE %PREVIEW% ECHO Vérifie si le fichier PREVIEW.HTML existe if exist "%PREVIEW%" GOTO PREVIEW_OK ECHO %DATE% %TIME% : %PREVIEW% introuvable. Verifiez le chemin>>"%Error_LOG%" exit /b 1 :PREVIEW_OK ECHO PREVIEW OK ECHO. ECHO Vérifie si le dossier d'import est accessible if exist "%REP_IMPORT_AXI%" GOTO REP_IMPORT_AXI_OK ECHO %DATE% %TIME% : %REP_IMPORT_AXI% inaccessible. Verifiez le chemin>>"%Error_LOG%" exit /b 1 :REP_IMPORT_AXI_OK ECHO REP IMPORT AXI OK ECHO. ECHO MODIFICATION DE LA DATE DANS LE FICHIER axi powershell -Command "$dateFormat = Get-Date -Format \"dd/MM/yyyy\"; Write-Host \"Date du jour : $dateFormat\"; $filePath = \"C:\\Users\\Public\\Données Axilog\\Data\\piecesjointes\\CPS\\AxiMessage.axi\"; $xml = [xml](Get-Content $filePath); $xml.SelectSingleNode('//DATE').InnerText = $dateFormat; $xml.Save($filePath)" :ENCORE set /a "COMPTEUR+=1" REM Créer un répertoire temporaire pour les conversions set "temp_dir=%TEMP%\ImageConversionTemp" mkdir "%temp_dir%" 2>nul ECHO PHASE 1: AJUSTE LA TAILLE DES PHOTOS REM AJUSTE LA TAILLE DES PHOTOS for %%i in ("%REP_PHOTOS%\*.jpg") do ( rem Redimensionner et convertir uniquement si les dimensions dépassent un des seuils "%MAGIC_EXE%" convert "%%~i" -resize %largeurMAX%x%hauteurMAX% "%%~i" ) for %%i in ("%REP_PHOTOS%\*.jpeg") do ( rem Redimensionner et convertir uniquement si les dimensions dépassent un des seuils "%MAGIC_EXE%" convert "%%~i" -resize %largeurMAX%x%hauteurMAX% "%%~i" ) ECHO PHASE 2: PROCESSING DES FICHIERS REM Parcourir toutes les images et fichiers PDF dans le dossier for %%i in ("%REP_PHOTOS%\*.*") do ( REM Extraire le nom du fichier sans extension set "filename=%%~ni" REM Créer un répertoire pour chaque fichier dans le dossier temporaire mkdir "%temp_dir%\!filename!" 2>nul REM Déplacer le fichier dans le répertoire temporaire, dans un sous répertoire du même nom move "%%i" "%temp_dir%\!filename!" 2>nul echo %%~ni déplacé copy "%FICHIER_AXI%" "%REP_IMPORT_AXI%\!filename!.axi" >nul REM Vérifie si le fichier est une image et convertir les images en PDF REM Déplacer tous les PDF dans le répertoire temporaire, dans un sous répertoire du même nom que le fichier if /i "%%~xi" neq ".pdf" ( "%MAGIC_EXE%" "%temp_dir%\!filename!\%%~nxi" "%temp_dir%\!filename!\!filename!.pdf" echo Fichier %%~ni converti en PDF ) ) REM Copier les fichiers PDF créés vers des répertoires nommés d'après chaque fichier/image for /r "%temp_dir%" %%F in (*.pdf) do ( for %%A in ("%%~dpF\.") do ( mkdir "%REP_IMPORT_AXI%\%%~nxA" 2>nul copy "%%F" "%REP_IMPORT_AXI%\%%~nxA\%%~nxF" >nul copy "%PREVIEW%" "%REP_IMPORT_AXI%\%%~nxA" >nul copy "%%" "\%%~nxA" >nul ) ) ECHO PHASE 3: NETTOYAGE REM Supprimer le répertoire temporaire rmdir /s /q "%temp_dir%" echo Conversion terminée. REM Maintenance des fichiers LOG set "maxSize=10485760" REM Taille maximale en octets (10 Mo) for %%I in ("%LOG%") do ( if %%~zI geq %maxSize% ( del "%LOG%" echo Le fichier log a été supprimé car il a atteint la taille maximale de 10 Mo>>"%LOG%" ) ) for %%I in ("%Error_LOG%") do ( if %%~zI geq %maxSize% ( del "%Error_LOG%" echo Le fichier log a été supprimé car il a atteint la taille maximale de 10 Mo>>"%Error_LOG%" ) ) ECHO %DATE% %TIME% : Boucle %COMPTEUR% effectuée >>"%LOG%" echo Pause pendant 60 secondes... timeout /t 60 /nobreak >nul if !COMPTEUR! lss 4 GOTO :ENCORE endlocal exit /b 0