Bonjour à tous et à toutes !
Encore besoin de vous ! (Décidément, seul, j'suis pas productif...)
Voici d'abord le code, après je m'explique :
Bon voilà j'espère que je suis pas trop mauvais codeur pour ce qui est de la compréhension de mon code (pas très commenté j'avoue!).
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47 @echo off & cls set source1=%userprofile%\Desktop set source2=%userprofile%\Downloads set source3=%userprofile%\Music set source4=%userprofile%\Pictures set source5=%userprofile%\Videos set source6=%userprofile%\Documents rem ************Boucles FOR pour compter fichiers+dossiers+jonctions+TAILLETOTALE!************** for /l %%g in (1,1,6) do ( echo Je viens de rentrer dans la GROSSE boucle [passage num%%g] set /a cptfichiers=0 set /a cptdossiers=0 set /a cptjonctions=0 set /a totaloctets=0 echo Je viens de rentrer dans la 1ere boucle [passage num%%g] for /f %%a in ('dir /s /b /a:-d "%source%%g%"\*.*') do set /a cptfichiers+=1 echo Je viens de rentrer dans la 2eme boucle [passage num%%g] for /f %%a in ('dir /s /b /a:d "%source%%g%"\*.*') do set /a cptdossiers+=1 echo Je viens de rentrer dans la 3eme boucle [passage num%%g] for /f %%a in ('dir /s /b /a:l "%source%%g%"\*.*') do set /a cptjonctions+=1 setlocal enabledelayedexpansion echo Je viens de rentrer dans la 4eme boucle [passage num%%g] for /f "delims=" %%a in ('dir /b /a-d /s "%source%%g%"') do set /a totaloctets=!totaloctets!+%%~za echo disabledelayedexpansion setlocal disabledelayedexpansion echo set totaldossiers = cptdossiers - cptjonctions set /a totaldossiers=%cptdossiers%-%cptjonctions% echo set testf%%g = %cptfichiers% set testf%%g=%cptfichiers% echo set testg%%g = %cptdossiers% set testd%%g=%cptdossiers% echo set testj%%g = %cptjonctions% set testj%%g=%cptjonctions% echo set testt%%g = %totaloctets% set testt%%g=%totaloctets% @echo off ) rem ***********************************FIN FCKING BOUCLES!************************************ echo TOUTES LES BOUCLES SONT FINIES ! & timeout /t 2 > nul for /l %%g in (1,1,6) do ( echo %%g : %testf%%g% fichiers %testd%%g% dossiers %testj%%g% jonctions %testt%%g% octets echo. ) pause
Le problème :
Ce que je veut faire :
J'ai 6 dossiers sources, et je veux connaître pour CHAQUE dossiers des valeurs (nbfichiers/nbdossiers/nbjonctions/tailledossier).
J'utilise donc 4 boucles FOR à la suite pour les 4 valeurs citées ci-dessus! Chacune de ses boucles (indépendantes) me retournent bien la valeur à compter! No soucy!
Le truc c'est que j'ai 6 dossiers à analyser, donc j'ai pas envie de copier 6 fois mes 10lignes de traitement => trop gros fichier et c'est pas ça l'informatique!
Donc je crée une ENOORME FOR qui englobe mes 10lignes de traitement! Pour que mes 6 dossiers soient analysés les un après les autres!
Maaais j'arrive pas à ce qu'il me retourne la valeur des 4 "petites" FOR (indépendantes) avant qu'il ne boucle sur l'ENOORME FOR qui englobe tout! J'suis clair là?!
Par exemple :
- 1er passage ENOORME FOR : Dossier bureau = 28 fichiers , 2 dossiers, 0 jonctions, 40000 octets ! => ça je veux le garder en mémoire !
PUIS re-bouclage
-2eme passage ENOORME FOR : Dossier Downloads = XX fichiers, YY dossiers, ZZ jonctions, BLA octets ! => pareil, en mémoire !
Puis re-bouclage etc etc etc...
Au final, je voudrais afficher mes "valeurs" de chaque dossiers, puis calculer le total (mais bon ça c'est facile), pour afficher "Les dossiers ça+ça+ça ont XX fichiers, YY dossiers, ZZ jonctions, BLA octets !"
J'espère être clair et concis dans ce que je demande!
Apparemment, il faudrait faire un tableau à 2 dimensions (d'après un collègue au boulot qui ne connais pas le batch) ! J'aurais dit 4 pour mes 4 valeurs à retourner, mais je ne sais pas comment faire des tableaux, ni comment stocker ses variables... ! :/
Je vous remercie d'avance de prendre en compte ma demande d'aide, mon projet est à rendre dans pas longtemps !
Merci beaucoup !
>>>>>>>>>>>>>>>>>>>>>>>>> Merci d'avoir lu mon post jusqu'ici !
>>>>>>>>>>>>>>>>>>>>>>>>> Merci à tous ceux/celles qui me répondront !
Je vous souhaite une agréable journée !
Partager