Salut tout le monde,

Dans mon code, j'ai une boucle for imbriquee dans une boucle if. Et bien sur elle refuse de faire ce qu'elle est censee faire.
Toutefois, elle fonctionne quand je la prend separement.

Voici mon code:

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
@echo off

set counter=0

for %%j in ("D:\Backup project\Deleting process\Test\*.txt") do (
  set /a counter+=1
)

if %counter% GEQ 7 (
  set /a difference=%counter%-7
  set difference
  set var=0
  set var
  for /l %%k in (1, 1, %difference%) do (
    set /a var+=1
  )
)

set var

pause
Tout ceci est dans un batch.

J'ai teste les lignes une a une et ce code la marche:

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
@echo off

set counter=0

for %%j in ("D:\Backup project\Deleting process\Test\*.txt") do (
  set /a counter+=1
)

if %counter% GEQ 7 (
  set /a difference=%counter%-7
  set difference
  set var=0
  set var
  )

set var

pause
Le premier code me renvoit:

difference=2
var=0
var=0

Il ne tient ainsi pas compte de la boucle for.

Mais pourquoi ??

Je precise juste que dans ce cas, counter vaut 9.