source: extensions/Batch_Optimisateur/Script.bat @ 6058

Last change on this file since 6058 was 6058, checked in by Gotcha, 10 years ago

Version v5.0.a ready for testing !

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