Bonjour,

J'ai un petit problème avec un script en batch, je veux parcourir un liste de fichier d'un dossier pour les déplacer, supprimer ou laisser suivant la date de dernière modification. mais j'ai un problème dans ma boucle, je pense que c'est à cause des "if". Voici le 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
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
@echo off
title gestion des logs
set cheminLogs=c:\essai
set dateSys=%DATE%
cd %cheminLogs%
if EXIST lastWeek goto move
mkdir lastWeek
:move
echo %dateSys%
for /f "tokens=3 delims=/ " %%b in ('date/t') do set mois=%%b
echo %mois%
for /f "tokens=1 delims=/ " %%b in ('date/t') do set libJour=%%b
echo %libjour%
for /f "tokens=2 delims=/ " %%b in ('date/t') do set nbJour=%%b
echo %nbJour%

for %%a in (*.xml) do (

	set nom=%%a

	for /f "skip=4 tokens=1" %%a in ('dir "%nom%" /tw /-c /a:-d-s-h^|find /v "(s)"') do set dateModif=%%a


	for /f "tokens=1 delims=/ " %%b in ('echo %dateModif%') do set jourModif=%%b
	for /f "tokens=2 delims=/ " %%b in ('echo %dateModif%') do set moisModif=%%b

	if %moisModif% equ %mois% do goto :garder
	del %nom%

	:garder
	echo c'est de ce moi ci
	pause

	set /A difference=%nbJour%-%jourModif%
	echo %difference%
	pause

	if %difference% lss 8 do goto :laisser
	echo on déplace le log
	copy %nom% c:\essai\lastWeek
	pause

	:laisser
	echo ce log n'est pas deplace
	pause
)
merci