Incrémenter variable dans boucle FOR - BAT

Fermé
Julien - 18 oct. 2019 à 15:24
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 - 18 oct. 2019 à 19:55
Bonjour,

Je voudrais incrémenter la variable num. Dans le cas présent, elle reste toujours à 10.. Une idée ? L'objectif est d'incrémenter le nom du fichier filename lors de la copie.

set num=10

setlocal enableDelayedExpansion
for /f "tokens=*" %%o in ('dir C:\Users\XX\Documents\Test\Collect7DAY\Collecte*. /w /b') do set /a num=%num%+1 && copy C:\Users\XX\Documents\Test\Collect7DAY\%%o C:\Users\XX\Documents\Test\Collect7DAY\MAM-S-CORE-01_DaletPlusServer_2\%filename%%num% /v/-y && timeout /t 2 && Echo ICI && Echo VALEUR%num%)
endlocal

J'ai essayé pas mal de choses... Mais je ne suis pas expert .bat

Need help !
Merci,

1 réponse

barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 908
Modifié le 18 oct. 2019 à 19:57
Bonjour,

Je n'ai pas testé mais ça devrait ressembler à ça :

set num=10
set source=%USERPROFILE%\Documents\Test\Collect7DAY
cd /d %source% || exit /b 1

setlocal enableDelayedExpansion

for /f "tokens=*" %%O in ('dir "Collecte*" /b /a-d') do (
set /a num+=1
copy "%%~fO" "%source%\MAM-S-CORE-01_DaletPlusServer_2\%%~nO!num!%%~xO" /v/-y
timeout /t 2
echo ICI & echo VALEUR!num!
)

endlocal


0