Dans le code source suivant, le flag "ok" (8e ligne) doit permettre de ne pas inscrire les données indiquée dans le fichier cible, le but étant d'inscrire cette ligne au premier passage de la boucle et les suivants inscriront une autre. Cependant, le flag ne se change pas au moment de prendre la valeur "ok".
La structure des dossiers est la suivants :
- Dossier "css" > script.bat
- Dossier "activites" > dossier "1" ; dossier "2" ; dossier "1" ; etc.
----------------------------------------------------- dossier "1" > dossier "ecole" > fichier "cover.jpg" ; fichier "photo001.jpg" ; fichier "photo002.jpg" ; fichier "photo003.jpg"
En faisant des tests, je me suis aperçu que la valeur du flag "ok" ne change pas dans les FOR. Que faire ?
Code : Tout sélectionner
@echo off
SET /p dossier1=" > Entrez le nom du Dossier de la section (ex: Activites) : "
SET output="../%dossier1%/1/%%A/script.js"
SET code_html="../%dossier1%/1/code_html.txt"
>%code_html% (
ECHO Introduisez ces lignes de code dans votre page HTML : &ECHO. &ECHO.
)
SET ok=no
FOR /F "delims=" %%A IN ('DIR /B /A:D "..\%dossier1%\1\"') DO (
ECHO document^.write^(^"^\>%output%
ECHO ^<div class^=\"cadre\" style^=\"background-image: url('%dossier1%/1/%%A/cover.jpg');\"^>\>>%output%
FOR /F "delims=" %%B IN ('DIR /B "..\%dossier1%\1\%%A\*.jpg"') DO (
IF NOT %%B==cover.jpg (
echo test : %ok%
pause
IF %ok%==ok (
(
ECHO ^<a class^=\"galerie\" href^=\"%dossier1%/1/%%A/%%B\" data-lightbox^=\"%%A\" data-title^=\"\"^>^</a^>\
)>>%output%
) ELSE (
(
ECHO ^<a class^=\"galerie\" href^=\"%dossier1%/1/%%A/%%B\" data-lightbox^=\"%%A\" data-title^=\"\"^>^<h6^>TITRE^<span^>^<br /^>DATE^</span^>^</h6^>^</a^>\
)>>%output%
)
)
)
(
ECHO ^<script type^="text/javascript" src="%dossier1%/1/%%A/script.js"^>^</script^>
)>> %code_html%
(
ECHO ^</div^>\
ECHO ^"^)
)>>%output%
)
ECHO.
ECHO [ Operation terminee ]
ECHO Pressez une touche pour continuer
PAUSE>NUL