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
merci
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 )
Partager