source: extensions/Batch_Optimisateur/Script.bat @ 15907

Revision 6061, 29.8 KB checked in by Gotcha, 10 years ago (diff)

Correction of the accents.

Line 
1@echo off
2
3rem **************************************
4rem Merci de ne PAS TOUCHER aux variables qui suivent !!!
5set titre=BATCH_OPTIMISATEUR
6set version=v5
7set vdate=03.05.2010
8set x=1
9set y=7
10set title=%titre% %version% du %vdate%
11set tps=4
12rem **************************************
13
14rem **************************************
15set debug=0
16rem debug=0 Le script s'exécute normalement
17rem debug=1 Mode debug actif TEMPORAIRE (cible quelques messages)
18rem debug=2 Mode debig actif en permanance.
19rem **************************************
20
21                rem SUPER ASTUCE: Le copier/coller qui fonctionne même avec MS-DOS !!!
22                rem Exemple: copiez le texte que vous voulez et faites un clic droit dans la fenêtre dos !
23                rem MAGIQUE !!! Votre texte est collé !!!
24                rem La combinaison Ctrl+V ne marche pas par contre... c'est le simple clic droit qui colle sur la fenêtre MS-DOS
25               
26                rem Permet de "Copier-coller" dans la console MS-DOS
27                reg add "HKEY_CURRENT_USER\Console" /v QuickEdit /t REG_SZ /d 1 /f
28
29rem Initialisation des variables obligatoires
30set DIRinstall=%~dp0
31set DIRtempo=%~dp0temp
32set DIRcompo=%~dp0composants
33set BOEXE=Batch_Optimisateur.exe
34rem Définition des composants
35set cechoEXE=%DIRcompo%\cecho.exe
36set formaterARB=%DIRcompo%\formater.arb
37set FreeWatchEXE=%DIRcompo%\FreeWatch.exe
38set indexPHP=%DIRcompo%\index.php
39set logoBAT=%DIRcompo%\logo.bat
40set nconvertEXE=%DIRcompo%\nconvert.exe
41set questionsBAT=%DIRcompo%\questions.bat
42set switchEXE=%DIRcompo%\switch.exe
43set vlogoBAT=%DIRcompo%\vlogo.bat
44rem Définition des fichiers temporaires
45set sourceTXT=%DIRtempo%\DIRsource.txt
46set sortieTXT=%DIRtempo%\DIRsortie.txt
47set sousrepTXT=%DIRtempo%\DIRsousrep.txt
48set supTXT=%DIRtempo%\DIRsup.txt
49set sortieNEWTXT=%DIRtempo%\DIRsortieNew.txt
50set listingTXT=%DIRtempo%\listing.txt
51rem Définition de variables...
52set setupTXT=%~dp0Setup.txt
53set vDPI=0
54
55rem Identification du système (x86 ou x64)
56if exist "%PROGRAMFILES%" set SYS_3264=%PROGRAMFILES%
57if exist "%PROGRAMFILES(x86)%" set SYS_3264=%PROGRAMFILES(x86)%
58
59if "%debug%" == "2" (
60  echo R‚pertoire pr‚sent : "%SYS_3264%"
61  pause
62  cls
63)
64
65rem Recherche du répertoire d'installation de Ant Renamer
66if exist "%PROGRAMFILES%\Ant Renamer\Renamer.exe" set renamerEXE=%PROGRAMFILES%\Ant Renamer\Renamer.exe
67if exist "%PROGRAMFILES(x86)%\Ant Renamer\Renamer.exe" set renamerEXE=%PROGRAMFILES(x86)%\Ant Renamer\Renamer.exe
68if not defined renamerEXE set merror10=Le logiciel tierce Ant Renamer n'a pas ‚t‚ trouv‚. Il faut l'installer.
69
70rem Taille de la fenêtre
71title %title%
72mode con lines=82 cols=80
73color F1
74
75if "%debug%" == "2" (
76  echo Je suis là
77  rem echo Lancé depuis %CD%
78  rem echo Présent dans %~dp0
79  rem echo Pour info, la commande %CD% donne le répertoire du fichier exécutant PARENT !
80  rem echo Pour info, la commande %~dp0 donne le répertoire (avec le slash \ ) du répertoire où se trouve le présent script !
81  echo %merror0%
82  pause
83)
84
85rem Initialisation du dossier temporaire. Si il existe on l'efface avant (pour le vider) avant de le recréer (vièrge)
86if exist "%DIRtempo%" del "%DIRtempo%" /s /q >nul
87if not exist "%DIRtempo%" mkdir "%DIRtempo%" >nul
88
89rem Vérification des composants indispensables.
90rem S'il ne sont pas présent, poursuite impossible...
91if not exist "%setupTXT%" set merror100=Le fichier Setup.txt n'a pas ‚t‚ trouv‚.
92rem Erreur 00 bloquante
93if defined merror100 goto :bleme
94if not exist "%cechoEXE%" set merror20=Le composant cecho.exe n'a pas ‚t‚ trouv‚.
95if not exist "%formaterARB%" set merror30=Le composant formater.arb n'a pas ‚t‚ trouv‚.
96if not exist "%FreeWatchEXE%" set merror40=Le composant FreeWatch.exe n'a pas ‚t‚ trouv‚.
97if not exist "%indexPHP%" set merror50=Le composant index.php n'a pas ‚t‚ trouv‚.
98if not exist "%logoBAT%" set merror50=Le composant logo.bat n'a pas ‚t‚ trouv‚.
99if not exist "%nconvertEXE%" set merror60=Le composant nconvert.exe n'a pas ‚t‚ trouv‚.
100if not exist "%questionsBAT%" set merror70=Le composant questions.bat n'a pas ‚t‚ trouv‚.
101if not exist "%switchEXE%" set merror80=Le composant switch.exe n'a pas ‚t‚ trouv‚.
102:: if not exist "%vlogoBAT%" set merror90=Le composant vlogo.bat n'a pas ‚t‚ trouv‚.
103
104rem Appel du fichier Setup.txt (avant, je l'aurait converti en .bat)
105copy "%setupTXT%" "%DIRtempo%\Setup.bat">nul
106call "%DIRtempo%\Setup.bat"
107
108rem Condition d'annulation de procédure
109for /L %%d in (0,1,199) do if defined merror%%d goto :bleme
110
111:P0
112rem Condition de saut grâce à un paramètre transmis par un logiciel tiers (LrLoader).
113if "%silentORNOT%" == "o" goto :L0
114rem Condition de saut grâce à un paramètre transmis par question.bat Comme ce dernier est lancé APRES :P0
115rem et que la boucle oublige à revenir plus haut, l'étape :P0 n'est plus utile pour ce cas.
116if "%gfini%" == "1" goto :L0
117set question=
118color F1
119call :header
120if "%silentORNOT%" == "o" (
121  echo.
122  echo ATTENTION ^!^!^! ATTENTION ^!^!^! ATTENTION ^!^!^! ATTENTION ^!^!^! ATTENTION ^!^!^!
123  echo Le mode silencieux est activ‚ ce qui veut dire que Batch_Optimisateur n'affichera
124  echo pas toutes les fenˆtres. Vous gagnez ansi de en facilt‚.
125  echo.
126  echo.
127  echo Gardez … l'esprit que Batch_Optimisateur prendra certaines d‚cisions à votre place.
128  echo Consulter le fichier Lisez-moi.rtf pour plus d'informations.
129  echo.
130  echo.
131  echo.
132  echo.
133  echo.
134  echo.
135  echo.
136  echo Appuyez sur une touche pour lancer Batch_Optimisateur en mode silencieux.
137  echo.
138  echo.
139  pause> nul
140  cls
141  goto :L0
142) else (
143  echo.
144  echo.
145  echo.
146  echo Voulez vous ‚diter le fichier "Setup.txt"
147  echo Dans le but de modifi‚er vos paramŠtres par d‚faut ? [o] - [n]
148  echo.
149  echo.
150  echo Validez en appuyant sur la touche "Entr‚e"
151  echo.
152  set /p question=
153)
154  if "%question%" == "o" goto :P1
155  if "%question%" == "n" goto :L0
156  cls
157  goto :P0
158
159:P1
160if "%silentORNOT%" == "o" goto :L1
161rem action à exécuter lors de l'édition du fichier Setup.txt
162call :header
163echo Le fichier "%DIRinstall%Setup.txt" ...
164echo ... viens de s'ouvrir avec le bloc-notes.
165echo.
166echo Une fois l'‚dition du fichier termin‚e, veuillez fermer le bloc-notes
167start /wait notepad.exe "%DIRinstall%Setup.txt"
168
169:L0
170rem Re-lecture
171copy "%setupTXT%" "%DIRtempo%\Setup.bat">nul
172call "%DIRtempo%\Setup.bat"
173
174:L1
175if "%debug%" == "2" (
176  cls
177  echo I'm here, after first panel...
178  echo.
179  echo Affichage des variable lues et prises en compte.
180  echo.
181  echo.
182  echo logoORNOT %logoORNOT%
183  echo DIRsource %DIRsource%
184  echo DIRsortie %DIRsortie%
185  echo copyORNOT %copyORNOT%
186  echo copyright %copyright%
187  echo DIRhightORNOT %DIRhightORNOT%
188  echo DIMhdORNOT %DIMhdORNOT%
189  echo paramdefORNOT %paramdefORNOT%
190  echo DIMhd %DIMhd%
191  echo DIMnormal %DIMnormal%
192  echo DIMthumbnail %DIMthumbnail%
193  echo Qhd %Qhd%
194  echo Qnormal %Qnormal%
195  echo Qthumbnail %Qthumbnail%
196  echo prefixe_mini %prefixe_mini%
197  echo renameORNOT %renameORNOT%
198  echo FreeWatchORNOT %FreeWatchORNOT%
199  echo DPIH %DPIH%
200  echo DPIV %DPIV%
201  echo openbehindORNOT %openbehindORNOT%
202  echo openafterORNOT %openbehindORNOT%
203  echo silentORNOT %silentORNOT%
204  echo.
205  echo module1 %module1%
206  echo module2 %module2%
207  echo module3 %module3%
208  echo module4 %module4%
209  echo module5 %module5%
210  echo module6 %module6%
211  echo module7 %module7%
212  echo module8 %module8%
213  echo module9 %module9%
214  echo module10 %module10%
215  echo module11 %module11%
216  echo module12 %module12%
217  echo module13 %module13%
218  echo module14 %module14%
219  echo module15 %module15%
220  echo module16 %module16%
221  echo module17 %module17%
222  echo module18 %module18%
223  echo module19 %module19%
224  echo module20 %module20%
225  pause
226  cls
227)
228
229:eta1
230rem Correction arbitraire de deux répertoires pour eviter trop de complications...
231if defined DIRsource (if not exist "%DIRsource%" set DIRsource=)
232if defined DIRsortie (if not exist "%DIRsortie%" set DIRsortie=)
233
234
235rem Vérifiaction et/ou rectification des données relatives à la qualité des images en sortie de traitement.
236if not defined Qhd set Qhd=90
237if /i %Qhd% GTR 100 set Qhd=
238if not defined Qnormal set Qnormal=80
239if /i %Qnormal% GTR 100 set Qnormal=
240if not defined Qthumbnail set Qthumbnail=70
241if /i %Qthumbnail% GTR 100 set Qthumbnail=
242       
243rem Vérification et/ou rectification des données relatives à la dimension des images en sortie de traitement.
244if not defined DIMthumbnail set DIMthumbnail=
245if not defined DIMnormal set DIMnormal=
246if not defined DIMhd set DIMhd=
247
248if /i %DIMhd% LEQ %DIMnormal% set merror101=La valeure de dimensions de DIMhd (ou DIMnoraml) est illogique.
249if /i %DIMhd% LEQ %DIMthumbnail% set merror101=La valeure de dimensions de DIMhd (ou DIMnoraml) est illogique.
250
251if /i %DIMnormal% LEQ %DIMthumbnail% set merror102=La valeure de dimensions de DIMnormal (ou DIMthumbnail) est illogique.
252if /i %DIMnormal% GEQ %DIMhd% set merror102=La valeure de dimensions de DIMnormal (ou DIMthumbnail) est illogique.
253
254if /i %DIMthumbnail% GEQ %DIMnormal% set merror103=La valeure de dimensions de DIMthumbnail (ou DIMnormal) est illogique.
255if /i %DIMthumbnail% GEQ %DIMhd% set merror103=La valeure de dimensions de DIMthumbnail (ou DIMnormal) est illogique.
256
257        rem Vérification de la pertinence des informations saisies pour les variables "ORNOT"
258        if not defined logoORNOT set logoORNOT=o
259        if /i "%logoORnot%" NEQ "o" (
260          if /i "%logoORnot%" NEQ "n" (
261          set merror104= Dans le fichier "Setup.txt" la valeure donn‚e … logoORNOT est ‚ron‚e !
262          )
263        )
264        if defined copyORNOT (
265          if /i "%copyORNOT%" NEQ "o" (
266            if /i "%copyORNOT%" NEQ "n" (
267                set merror105= Dans le fichier "Setup.txt" la valeure donn‚e … copyORNOT est ‚ron‚e !
268                )
269          )
270        ) else (
271          echo La variable copyORNOT est vide.
272        )
273        if defined DIRhightORNOT (
274          if /i "%DIRhightORNOT%" NEQ "o" (
275                if /i "%DIRhightORNOT%" NEQ "n" (
276                set merror106= Dans le fichier "Setup.txt" la valeure donn‚e … DIRhightORNOT est ‚ron‚e !
277                )
278          )
279        ) else (
280        echo La variable DIRhightORNOT est vide.
281        )
282        if defined DIMhdORNOT (
283          if /i "%DIMhdORNOT%" NEQ "o" (
284                if /i "%DIMhdORNOT%" NEQ "n" (
285                set merror107= Dans le fichier "Setup.txt" la valeure donn‚e … DIMhdORNOT est ‚ron‚e !
286                )
287           )
288        ) else (
289        echo La variable DIMhdORNOT est vide.
290        )
291        if defined paramdefORNOT (
292          if /i "%paramdefORNOT%" NEQ "o" (
293                if /i "%paramdefORNOT%" NEQ "n" (
294                set merror108= Dans le fichier "Setup.txt" la valeure donn‚e … paramdefORNOT est ‚ron‚e !
295                )
296          )
297        ) else (
298        echo La variable paramdefORNOT est vide.
299        )
300        if defined renameORNOT (
301          if /i "%renameORNOT%" NEQ "o" (
302                if /i "%renameORNOT%" NEQ "n" (
303                set merror109= Dans le fichier "Setup.txt" la valeure donn‚e … renameORNOT est ‚ron‚e !
304                )
305          )
306        ) else (
307        echo La variable renameORNOT est vide.
308        )
309        if defined FreeWatchORNOT (
310          if /i "%FreeWatchORNOT%" NEQ "o" (
311                if /i "%FreeWatchORNOT%" NEQ "n" (
312                set merror110= Dans le fichier "Setup.txt" la valeure donn‚e … FreeWatchORNOT est ‚ron‚e !
313                )
314          )
315        ) else (
316        echo La variable FreeWatchORNOT est vide.
317        )
318        if defined DPIH set /a vDPI=%vDPI%+1
319        if defined DPIV set /a vDPI=%vDPI%+1
320        if "%vDPI%" NEQ "0" (
321          if "%vDPI%" == "2" (
322            set DPI=-dpi %DPIH%x%DPIV%
323            )
324          if not defined DPIH (set merror111= Dans le fichier "Setup.txt" une valeure donn‚e … aux DPI est ‚ron‚e !) else (if not defined DPIV (set merror111= Dans le fichier "Setup.txt" une valeure donn‚e … aux DPI est ‚ron‚e !))
325        )
326        if defined openbehindORNOT (
327          if /i "%openbehindORNOT%" NEQ "o" (
328                if /i "%openbehindORNOT%" NEQ "n" (
329                set merror112= Dans le fichier "Setup.txt" la valeure donn‚e … openbehindORNOT est ‚ron‚e !
330                )
331          )
332        ) else (
333        echo La variable FreeWatchORNOT est vide.
334        )
335        if defined openafterORNOT (
336          if /i "%openafterORNOT%" NEQ "o" (
337                if /i "%openafterORNOT%" NEQ "n" (
338                set merror113= Dans le fichier "Setup.txt" la valeure donn‚e … openafterORNOT est ‚ron‚e !
339                )
340          )
341        ) else (
342        echo La variable openafterORNOT est vide.
343        )
344        if defined silentORNOT (
345          if /i "%silentORNOT%" NEQ "o" (
346                if /i "%silentORNOT%" NEQ "n" (
347                set merror114= Dans le fichier "Setup.txt" la valeure donn‚e … silentORNOT est ‚ron‚e !
348                )
349          )
350        ) else (
351        echo La variable silentORNOT est vide.
352        )
353
354        rem Autres vérifiactions
355        if not defined prefixe_mini set prefixe_mini=
356       
357        rem Vérification la plus importante. Si cette condition n'est pas respéctée les autres messages d'erreurs ne safficheront même pas car le batch s'arrêtera avant. merro=0
358        rem Savoir sir le dossier de sortie est vide ou pas.
359        if defined DIRsortie (
360          for /f "delims=" %%a in ('dir "%DIRsortie%" /b') do (
361            if "%%a" NEQ "" (
362            set merror0=Le r‚pertoire de sortie n'est pas vide. Veuillez le vider avant.
363            )
364          )
365        )
366
367        rem Si le lancement de Batch_Optimisateur est silentieux (mode Silent) alors l'erreur n'apparait pas. Le répertoire sera vidé automatiquement.
368        if "%silentORNOT%" == "o" if defined merror0 set merror0=
369       
370        rem Vérification que le répertoire source contienne bien des fichiers...
371        if not exist "%DIRsource%\*.*" set merror9=Le r‚pertoire "source" ne contient aucune fichiers... Incorrect !
372       
373        rem Renvoie à l'étiquette "bleme2" en cas d'erreur qui peux
374        for /L %%b in (0,1,8) do if defined merror%%b goto bleme2
375        rem Renvoie à l'étiquette "bleme" en cas d'erreur
376        for /L %%b in (9,1,199) do if defined merror%%b goto bleme
377
378if "%debug%" == "2" (
379  echo i'm here :eta1
380  pause
381  cls
382)
383
384:eta2
385rem Appel de question.bat
386rem En fonction des réponse déjà programmées dans Steup.txt, question.bat n'affichera que le nécessaire.
387cls
388call "%questionsBAT%"
389if "%gfini%" NEQ "1" goto :eta1
390
391:eta3
392if "%silentORNOT%" == "o" goto :eta5
393if "%openbehindORNOT%" == "n" goto :eta4
394rem Action à exécuter une fois le fichier Setup.txt édité
395call :header
396echo.
397echo.
398echo.
399echo Ouverture des dossiers :
400echo   - "%DIRsource%"
401echo   - "%DIRsortie%"
402echo.
403  explorer "%DIRsource%"
404  explorer "%DIRsortie%"
405echo.
406echo.
407echo.
408echo.
409pause
410
411if "%debug%" == "2" (
412  echo i'm here :eta3
413  pause
414)
415
416:eta4
417if "%silentORNOT%" == "o" goto :eta5
418cls
419rem page de présentation
420if "%logoORNOT%" == "n" goto :eta5
421call "%vlogoBAT%"
422
423if "%debug%" == "2" (
424  echo i'm here :eta4
425  pause
426)
427
428:eta5
429if "%silentORNOT%" == "o" (
430  rmdir "%DIRsortie%" /s /q
431  ping -n 2 127.0.0.1 > NUL
432  mkdir "%DIRsortie%"
433)
434
435if "%debug%" == "2" (
436  echo i'm here :eta5
437  pause
438)
439
440:eta6
441color 07
442rem Lancement du chronographe
443if "%FreeWatchORNOT%" == "o" (
444  start composants\FreeWatch.exe /start /label "Temps de traitement de Batch_Optimisateur"
445)
446
447if "%debug%" == "2" (
448  echo i'm here :eta6
449  pause
450)
451
452:eta7
453rem Préparatifs
454
455        rem Formatage des arguments
456
457        :f0
458        rem Le texte
459               
460        :f1
461        rem Definition de la taille du texte
462       
463                :tailleN1
464                rem Images Normales
465                rem x < 800
466                rem  800 >= x < 1023
467                rem x >= 1024
468                rem commande01=taille 10 inf a 800
469                rem commande02=taille 16 compris entre 800 et 1023
470                rem commande03=taille 18 sup ou egal a 1024
471
472                if %DIMnormal% LSS 800 set tailleN1=10 & goto :tailleHD
473                if %DIMnormal% GEQ 800 if %DIMnormal% LSS 1023 set tailleN1=16 & goto :tailleHD
474                if %DIMnormal% GEQ 1024 set tailleN1=18 & goto :tailleHD
475
476                :tailleHD
477                rem Images HD
478                rem x < 1024
479                rem 1024 > x > 1279
480                rem x >= 1280
481                rem commande11=taille 16 inf a 1024
482                rem commande12=taille 18 compris entre 1024 et 1279
483                rem commande13=taille 20 sup ou egal a 1280
484
485                if %DIMhd% LSS 1024 set tailleHD=16 & goto :f2
486                if %DIMhd% GEQ 1024 if %DIMhd% LSS 1279 set tailleHD=18 & goto :f2
487                if %DIMhd% GEQ 1280 set tailleHD=20 & goto :f2
488
489        :f2
490        if "%prefixe_mini%" == " " set prefixe_mini=
491        if "%copyright%" == " " set texte=
492        if "%copyORNOT%" == "n" set texte=
493        if "%copyORNOT%" == "n" goto :f3
494        set texteN1=-text_font "MS Reference Sans Serif" %tailleN1% -text_color 0 0 0 -text_back 192 192 192 -text_flag bottom-left -text_pos 0 0 -text "%copyright%"
495        set texteHD=-text_font "MS Reference Sans Serif" %tailleHD% -text_color 0 0 0 -text_back 192 192 192 -text_flag bottom-left -text_pos 0 0 -text "%copyright%"
496
497        :f3
498        rem Le redimentionnement
499        set resize=-ratio -rtype lanczos -rflag decr
500        rem Incrustration d'un texte pour le copyright en bas à gauche, fond blanc, texte en noir, taille exprimée avec un facteur de x1,38 par rapport à la taille de base dans Xnview.
501        rem Exemple, pour une police de T13, on obtient en batch: 13*1,38=18. T18 donc...
502        rem Le symbole du © copyright, d'habitude obtenue avec la combinaison de touches [alt]0169 est en fait obtenue içi avec la combinaison de touches [alt]0184
503        rem Allez comprendre quelque chose...
504
505:modulesA
506cls
507rem Lancement des modules qui agissent sur les photos dans le répertoire d'entrée (DIRsource).
508rem Stop le chronographe si déjà lancé.
509tasklist | findstr /c:FreeWatch.exe
510if "%ERRORLEVEL%" == "0" start composants\FreeWatch.exe /stop
511cls
512echo.
513echo.
514echo En attente des modules...
515echo.
516
517if defined module01 call %module01%
518if defined module02 call %module02%
519if defined module03 call %module03%
520if defined module04 call %module04%
521if defined module05 call %module05%
522if defined module06 call %module06%
523if defined module07 call %module07%
524if defined module08 call %module08%
525if defined module09 call %module09%
526if defined module10 call %module10%
527
528color 07
529
530if "%debug%" == "2" (
531  echo i'm here :modulesA
532  pause
533)
534
535cls
536
537:et100
538rem Reprise du chronomètre si déjà ouvert.
539tasklist | findstr /c:FreeWatch.exe
540if "%ERRORLEVEL%" == "0" start composants\FreeWatch.exe /start
541rem Titre de la fenêtre
542set etape= *** Etape %x% sur %y% ***
543title %titre%%etape%
544cls
545rem Formatage des noms de dossiers + fichiers à l'aide du logiciel Renamer
546if "%renameORNOT%" == "n" (
547  goto :et200
548) else (
549  "%renamerEXE%" -b "%formaterARB%" -afr "%DIRsource%\*.*" -aFr "%DIRsource%\*.*" -g -x
550)
551
552if "%debug%" == "2" (
553  echo i'm here :et100
554  pause
555)
556
557:et200
558rem Titre de la fenêtre
559set /a x=%x%+1
560set etape= *** Etape %x% sur %y% ***
561title %titre%%etape%
562cls
563rem Je liste le contenu de %DIRsource% vers deux fichiers
564echo %DIRsource%> "%sourceTXT%"
565dir "%DIRsource%" /AD /B /S>> "%sourceTXT%"
566echo %DIRsource%> "%sortieTXT%"
567dir "%DIRsource%" /AD /B /S>> "%sortieTXT%"
568rem Je transforme les occurences contenant le chemin de DIRsource pour les remplacer par celles du DIRsortie
569echo "%switchEXE%" "%sortieTXT%" "%DIRsource%" "%DIRsortie%"> "%DIRtempo%\tmp.bat"
570call "%DIRtempo%\tmp.bat"
571rem Création des deux sous répertoires
572rem Boucle pour tous les sous rep
573if "%DIRhightORNOT%" == "o" (
574  for /f %%a in ('type "%sortieTXT%"') do mkdir "%%a\pwg_high\"
575)
576for /f %%a in ('type "%sortieTXT%"') do mkdir %%a\thumbnail\
577rem Création d'un fichier ne contenant QUE les sous repertoires !!!
578dir "%DIRsource%" /AD /B /S> "%sousrepTXT%"
579"%switchEXE%" "%sousrepTXT%" "%DIRsource%" ""
580
581if "%debug%"=="2" (
582  echo i'm here :et200
583  rem echo %sortieTXT%
584  rem echo %DIRsource%
585  rem echo %DIRsortie%
586  pause
587)
588
589del "%DIRtempo%\tmp.bat" /s /q
590
591:et300
592rem Titre de la fenêtre
593set /a x=%x%+1
594set etape= *** Etape %x% sur %y% ***
595title %titre%%etape%
596cls
597rem Edition des images en haute qualité
598rem Le script est modifiable facilement avec XnView.
599        rem répertoire d'entrée: %DIRsource%\%%a\               Fichiers concernés: *.jpg
600        rem répertoire de sortie: %DIRsortie%\%%a\pwg_high\             Fichiers concernés %%.jpg
601        rem Redimensionnement avec le plus grand coté limité à %dimhd% pixels
602if "%DIRhightORNOT%" == "o" (
603  if "%DIMhdORNOT%" == "o" (
604        "%nconvertEXE%" -q %Qhd% -out jpeg -o "%DIRsortie%\pwg_high\%%.jpg" %resize% -resize %DIMhd% %DIMhd% "%DIRsource%\*.jpg"
605  ) else (
606    xcopy "%DIRsource%\*.jpg" "%DIRsortie%\pwg_high\" /f /y> nul
607  )
608)
609
610if "%DIRhightORNOT%" == "o" (
611  if "%DIMhdORNOT%" == "o" (
612        for /f %%a in ('type "%sousrepTXT%"') do "%nconvertEXE%" -q %Qhd% %DPI% -out jpeg -o "%DIRsortie%\%%a\pwg_high\%%.jpg" %resize% -resize %DIMhd% %DIMhd% "%DIRsource%\%%a\*.jpg"
613  ) else (
614        for /f %%a in ('type "%sousrepTXT%"') do xcopy "%DIRsource%\%%a\*.jpg" "%DIRsortie%\%%a\pwg_high\" /f /y> nul
615  )
616)
617
618if "%debug%" == "2" (
619  echo i'm here :et300
620  pause
621)
622
623:et400
624rem Titre de la fenêtre
625set /a x=%x%+1
626set etape= *** Etape %x% sur %y% ***
627title %titre%%etape%
628cls
629rem Edition des images en moyenne qualité
630if "%DIRhightORNOT%" == "o" (
631  "%nconvertEXE%" -q %Qnormal% %DPI% -out jpeg -o "%DIRsortie%\%%.jpg" %resize% -resize %DIMnormal% %DIMnormal% "%DIRsortie%\pwg_high\*.jpg"
632) else (
633  "%nconvertEXE%" -q %Qnormal% %DPI% -out jpeg -o "%DIRsortie%\%%.jpg" %resize% -resize %DIMnormal% %DIMnormal% "%DIRsource%\*.jpg"
634)
635
636if "%DIRhightORNOT%" == "o" (
637  for /f %%a in ('type "%sousrepTXT%"') do "%nconvertEXE%" -q %Qnormal% %DPI% -out jpeg -o "%DIRsortie%\%%a\%%.jpg" %resize% -resize %DIMnormal% %DIMnormal% "%DIRsortie%\%%a\pwg_high\*.jpg"
638) else (
639  for /f %%a in ('type "%sousrepTXT%"') do "%nconvertEXE%" -q %Qnormal% %DPI% -out jpeg -o "%DIRsortie%\%%a\%%.jpg" %resize% -resize %DIMnormal% %DIMnormal% "%DIRsource%\%%a\*.jpg"
640)
641
642if "%debug%" == "2" (
643  echo i'm here :et400
644  pause
645)
646
647:et500
648rem Titre de la fenêtre
649set /a x=%x%+1
650set etape= *** Etape %x% sur %y% ***
651title %titre%%etape%
652cls
653rem Création des vignettes, toujours sur le même principe qu'à l'étape 1 et 2
654rem Il n'y pas de d'ajout de la mention en filigranne.
655rem Supression des meta-données
656if "%DIRhightORNOT%" == "o" (
657  "%nconvertEXE%" -rmeta -rexifthumb -out jpeg -o "%DIRsortie%\thumbnail\%prefixe_mini%%%.jpg" %resize% -resize %DIMthumbnail% %DIMthumbnail% "%DIRsortie%\pwg_high\*.jpg"
658) else (
659  "%nconvertEXE%" -rmeta -rexifthumb -out jpeg -o "%DIRsortie%\thumbnail\%prefixe_mini%%%.jpg" %resize% -resize %DIMthumbnail% %DIMthumbnail% "%DIRsortie%\*.jpg"
660)
661
662if "%DIRhightORNOT%" == "o" (
663  for /f %%a in ('type "%sousrepTXT%"') do (
664        "%nconvertEXE%" -rmeta -rexifthumb -out jpeg -o "%DIRsortie%\%%a\thumbnail\%prefixe_mini%%%.jpg" %resize% -resize %DIMthumbnail% %DIMthumbnail% "%DIRsortie%\%%a\pwg_high\*.jpg"
665  )
666) else (
667  for /f %%a in ('type "%sousrepTXT%"') do (
668  "%nconvertEXE%" -rmeta -rexifthumb -out jpeg -o "%DIRsortie%\%%a\thumbnail\%prefixe_mini%%%.jpg" %resize% -resize %DIMthumbnail% %DIMthumbnail% "%DIRsortie%\%%a\*.jpg"
669  )
670)
671
672if "%debug%" == "2" (
673  echo i'm here :et500
674  pause
675)
676
677:et600
678rem Titre de la fenêtre
679set /a x=%x%+1
680set etape= *** Etape %x% sur %y% ***
681title %titre%%etape%
682cls
683rem Adjonction du texte (filigranne) (copyright)
684if "%copyORNOT%" == "n" goto et700
685if "%DIRhightORNOT%" == "o" (
686  if "%DIMhdORNOT%" == "o" (
687        "%nconvertEXE%" "%texteHD%" "%DIRsortie%\pwg_high\*.jpg"
688  )
689)
690
691if "%DIRhightORNOT%" == "o" (
692  if "%DIMhdORNOT%" == "o" (
693        for /f %%a in ('type "%sousrepTXT%"') do "%nconvertEXE%" "%texteHD%" "%DIRsortie%\%%a\pwg_high\*.jpg"
694  )
695)
696
697"%nconvertEXE%" "%texteN1%" "%DIRsortie%\*.jpg"
698for /f %%a in ('type "%sousrepTXT%"') do "%nconvertEXE%" "%texteN1%" "%DIRsortie%\%%a\*.jpg"
699
700if "%debug%" == "2" (
701  echo i'm here :et600
702  pause
703)
704
705:et700
706rem Titre de la fenêtre
707set /a x=%x%+1
708set etape= *** Etape %x% sur %y% ***
709title %titre%%etape%
710cls
711rem Suppression des dossiers vides
712dir "%DIRsortie%" /AD /B /S> "%sortieTXT%"
713sort /r "%sortieTXT%"> "%supTXT%"
714for /f %%a in ('type "%supTXT%"') do if not exist "%%a\*.*" rmdir "%%a"
715rem Copie du fichier %indexPHP% vers les dossiers spécifiés
716dir "%DIRsortie%" /AD /B /S> "%sortieNEWTXT%"
717xcopy "%indexPHP%" "%DIRsortie%\" /f /y> nul
718for /f %%a in ('type "%sortieNEWTXT%"') do xcopy "%indexPHP%" "%%a\" /f /y> nul
719
720if "%debug%" == "2" (
721  echo i'm here :et700
722  pause
723)
724
725:modulesB
726cls
727rem Lancement des modules qui agissent sur les photos dans le répertoire de sortie (DIRsortie).
728rem Stop le chronographe si déjà lancé.
729tasklist | findstr /c:FreeWatch.exe
730if "%ERRORLEVEL%" == "0" start composants\FreeWatch.exe /stop
731cls
732echo.
733echo.
734echo En attente des modules...
735echo.
736
737if defined module11 call %module11%
738if defined module12 call %module12%
739if defined module13 call %module13%
740if defined module14 call %module14%
741if defined module15 call %module15%
742if defined module16 call %module16%
743if defined module17 call %module17%
744if defined module18 call %module18%
745if defined module19 call %module19%
746
747color 07
748
749if "%debug%" == "2" (
750  echo i'm here :modulesB
751  pause
752)
753
754cls
755
756:et800
757rem Stop le chronographe si déjà lancé.
758taskList | findstr /c:FreeWatch.exe
759if "%ERRORLEVEL%" == "0" start composants\FreeWatch.exe /stop
760goto :sortie
761
762if "%debug%" == "2" (
763  echo i'm here :et800
764  pause
765)
766
767:sortie
768rem Fin du script
769cls
770rem Ouverture consitionnelle du dossier de sortie
771if "%openafterORNOT%" == "o" explorer "%DIRsortie%"
772color 70
773if "%logoORNOT%" == "o" call "%logoBAT%"
774exit
775
776:bleme
777rundll32 user32.dll,MessageBeep
778rem Erreurs
779set nnn=nnn
780for /L %%d in (0,1,199) do if defined merror%%d set cerror1=1
781for /L %%e in (200,1,299) do if defined merror%%e set cerror5=1
782
783color C0
784cls
785echo  /----------------------------------------------------------------------------\
786echo  I                                                                            I
787echo  I                                                                            I
788echo  I                              *** ATTENTION ***                             I
789echo  I                                                                            I
790echo  I                                                                            I
791echo  \----------------------------------------------------------------------------/
792echo.
793echo                         !!! INTERUPSION DU PROCESSUS !!!                       
794echo.
795echo                       Aucune modifiaction n'a ‚t‚ ‚ffectu‚e
796echo.
797echo.
798if defined merror0 echo %merror0% & echo.
799if defined cerror1 echo Liste des eurreurs fatales: & echo.
800  for /L %%d in (0,1,199) do if defined merror%%d (echo nnn %%merror%%d%% zz nnn.)>"%DIRtempo%\blemeA.bat"
801  if exist "%DIRtempo%\blemeA.bat" (
802    "%switchEXE%" "%DIRtempo%\blemeA.bat" "nnn" "echo"
803    "%switchEXE%" "%DIRtempo%\blemeA.bat" "zz" "&"
804    call "%DIRtempo%\blemeA.bat"
805    if "%debug%" == "0" del "%DIRtempo%\blemeA.bat"> nul
806  )
807if defined cerror5 (
808  echo Liste des erreurs trouv‚es dans le fichier "Setup.txt".
809  echo.
810  echo Merci de les corriger.
811  echo.
812  echo.
813  echo.
814  echo.
815  echo.
816)
817  for /L %%d in (199,1,299) do if defined merror%%d (echo nnn %%merror%%d%% zz nnn.)>"%DIRtempo%\blemeB.bat"
818  if exist "%DIRtempo%\blemeB.bat" (
819    "%switchEXE%" "%DIRtempo%\blemeB.bat" "nnn" "echo"
820    "%switchEXE%" "%DIRtempo%\blemeB.bat" "zz" "&"
821    call "%DIRtempo%\blemeB.bat"
822    if "%debug%" == "0" del "%DIRtempo%\blemeB.bat"> nul
823  )
824echo.
825if defined cerror1 (
826  echo                   *******************************************
827  echo                   *   Veuillez r‚installer l'application.   *
828  echo                   *******************************************
829  )
830echo.
831echo.
832echo.
833echo.
834echo                            !!! FIN DU PROCESSUS !!!                           
835echo.
836echo.
837echo.
838echo.
839echo.
840echo.
841echo.
842pause
843
844rem Suppresion des fichiers temporaires
845if "%debug%" NEQ "0" (
846  if exist "%DIRtempo%" del "%DIRtempo%" /s /q >nul
847  if not exist "%DIRtempo%" mkdir "%DIRtempo%" >nul
848)
849exit
850
851:bleme2
852rem Erreurs non bloquante. Le script sera relancé.
853cls
854rundll32 user32.dll,MessageBeep
855color C0
856cls
857echo  /----------------------------------------------------------------------------\
858echo  I                                                                            I
859echo  I                                                                            I
860echo  I                              *** ATTENTION ***                             I
861echo  I                                                                            I
862echo  I                                                                            I
863echo  \----------------------------------------------------------------------------/
864echo.
865echo                         !!! INTERUPSION DU PROCESSUS !!!                       
866echo.
867echo                       Aucune modifiaction n'a ‚t‚ ‚ffectu‚e
868echo.
869echo.
870if defined merror0 echo %merror0% & echo.
871if defined merror0 start explorer %DIRsortie%
872echo.
873echo.
874echo.
875echo.
876echo.
877echo.
878echo.
879echo.
880ping -n 3 127.0.0.1 > NUL
881echo Le r‚pertoire de sortie viens de souvrir. A vous de le vider...
882echo.
883echo.
884echo.
885echo.
886echo.
887echo.
888echo.
889echo.
890echo.
891echo.
892echo.
893echo Appuez sur une touche pour relancer Batch_Optimisateur.
894echo.
895echo.
896echo.
897echo.
898echo.
899echo.
900pause> nul
901set merror0=
902color F1
903goto :P0
904
905:header
906cls
907echo.
908echo                                             %title%
909echo  /*****************************************\ /********************************\
910echo  *                                         *I*H ID HHHHHHHHHHHHHHHHHHHHHHHHHHH*
911echo  *            BATCH OPTIMISATEUR           *I*HHffffffffHHHiiHHHHxxHHHHHHxxHHH*
912echo  *             pour Piwigo (PWG)           *I*HHffffffffHHHiiHHHHxxHHHHHHxxHHH*
913echo  *              www.piwigo.org             *I*HHffHHHHHHHHHiiHHHHHxxHHHHxxHHHH*
914echo  *                                         *I*HHfffffHHHHHHiiHHHHHHxxHHxxHHHHH*
915echo  *-----------------------------------------*-*HHfffffHHHHHHiiHHHHHHHHxxHHHHHHH*
916echo  *                                         *I*HHffHHHHHHHHHiiHHHHHHxxHHxxHHHHH*
917echo  *     Script r‚alis‚ par MOREAU Julien    *I*HHffHHHHHHHHHiiHHHHHxxHHHHxxHHHH*
918echo  *       quelleheureestilsvp@yahoo.fr      *I*HHffHHHHHHHHHiiHHHHxxHHHHHHxxHHH*
919echo  *                                         *I*HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH*
920echo  \*****************************************/ \********************************/
921echo.
922echo.
923if "%debug%" NEQ "0" (
924  echo  /****************************************************************************\
925  echo  *                                                                            *
926  echo  *                            MODE DEBUGAGE ACTIF                             *
927  echo  *                                                                            *
928  echo  \****************************************************************************/
929  echo.
930) else (
931  echo.
932  echo.
933  echo.
934)
935goto :eof
Note: See TracBrowser for help on using the repository browser.