Bonjour,

j'essaye de faire le script suivant pour purger les fichiers de plus de x mois dans un répertoire.

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

SETLOCAL

SET rep=D:\temp

SET datejour=%date%

SET nbmoisret=0

	for /f "tokens=1 delims=/ " %%b in ('date/t') do set jour=%%b
	for /f "tokens=2 delims=/ " %%b in ('date/t') do set mois=%%b
	for /f "tokens=3 delims=/ " %%b in ('date/t') do set annee=%%b

set /A mois=%mois%-%nbmoisret%

echo %mois%

IF %mois% LEQ 0 (set /A mois=%mois%+12
set /A annee=%annee%-1)

echo %mois%

set datelimite=%jour%/%mois%/%annee%

echo %datelimite%

cd %rep%

FOR /F "skip=4 tokens=1,4* " %i in ('dir /a-d /od') do (if %i LSS %datelimite% (del "%j %k" /Q))

pause
Mais le batch ne s'exécute pas.

Et quand quand je le lance en posant des "pause" après chaque instruction, il "plante" à la ligne

Code : Sélectionner tout - Visualiser dans une fenêtre à part
FOR /F "skip=4 tokens=1,4* " %i in ('dir /a-d /od') do (if %i LSS %datelimite% (del "%j %k" /Q))
Une idée ?

Merci.