Bonjour,
J'ouvre cette discussion afin d'obtenir des conseils par rapport à un script batch que j'essaye de faire pour mon école (une sorte de projet de mi-parcours).
Dans ce code ci-dessous, j'ai une liste de 8 fichiers BAT dans le répertoire "D:\test\bat\".
Chacun des scripts créent un fichier, le script principal affiche le nom et la taille du fichier créé dans "D:\test\depot\" et vérifie que la taille n'est pas égale à 0, si elle est égale, on informe l'utilisateur et on lui demande si il veut continuer si oui la boucle recommence au début.
Ci-dessous le code :
Ci-dessous un screen des résultats donné sur le terminal :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 :: variable chemin acces set AccTmp=D:\test\tmp\ set AccDepot=D:\test\depot\ set AccBat=D:\test\bat\ set AccArchive=D:\test\archive\ set datej=%date:~8,2%%date:~3,2%%date:~0,2% echo. set id=DFEA DPRG DPZERO DPCONF EPZERO EPCONF1 NFIXOPFI FIXOPFI For %%a in (%id%) do ( call %AccBat%%%a.bat /w pushd "%AccDepot%" for /f "delims=" %%b in ('dir /b "%%a_%datej%*.txt" 2^>nul') do ( echo -- Fichier : %%~b --- Taille : %%~zb octets -- if "%%~zb"=="0" call :askuser "%%~b" echo ---------------------------------------------------- echo. ) popd ) pause endlocal :askuser echo =================== /!\ WARNING /!\ ==================== set /p reponse=Le fichier cree "%~1" est vide (0 octets), voulez-vous continuer? (oui/non) : if /i %reponse%==non echo -- -- -- & echo Fin de l'integration ! & echo -- -- -- & timeout /t 2 > nul & exit
On comprend donc que la boucle se finit avant de traiter le dernier script, c'est pourquoi après une demi-journée de recherche infructueuses, je me tourne vers vous.
Merci par avance,
Ryo S.
Partager