Bonjour,

voici mon problème : j'ai créer un script batch avec la fonction FORFILES pour pouvoir déplacé plusieurs fichier de plus de 10 jours d'une arborescence vers un dossier spécifique.

voici mon script :

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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
cls
@echo off
echo.
echo.
echo.
echo ================ Purge des fichiers superieurs a 10 jours ================
echo.
echo.
echo.
echo Tache lancee le %date% a %time%
echo ----------------------------------------
echo.
echo.
echo Liste des repertoires a traiter
echo ===============================

echo.
cd C:\TEST_PACIFIC\pa

if not exist C:\TEST_PACIFIC\tmp\PALOG\ mkdir C:\TEST_PACIFIC\tmp\PALOG\
if not exist C:\TEST_PACIFIC\tmp\OLDFILES mkdir C:\TEST_PACIFIC\tmp\OLDFILES

set PALOG=C:\TEST_PACIFIC\tmp\PALOG\listePA.log
set pathPA=C:\TEST_PACIFIC\pa
set IBLOG=C:\TEST_PACIFIC\tmp\PALOG\inbox.log
set OLDFILES=C:\TEST_PACIFIC\tmp\PALOG\OLDFILES

dir /ad /b /s %pathPA% | find /i "inbox" > %IBLOG%

for /f "usebackq delims==" %%i in (`dir /b %pathPA%`) do echo %%i
echo.

echo Test de presence des dossiers Inbox
echo ===================================
echo.
for /f %%i in (%PALOG%) do if exist %%i\inbox (
echo %%i\inbox existe
) else (
echo %%i\inbox n'existe pas
)

echo.
echo Emplacements d'origine des fichiers de plus de 10 jours
echo =======================================================
echo.
for /f %%i in (%IBLOG%) do (
forfiles -p%%i -m* -d-10 -c"cmd /c echo %%i\@file date de plus de 10 jours : sa date est @fdate"" >>C:\TEST_PACIFIC\tmp\PALOG\oldfiles.log
)

echo.
echo Deplacements des fichiers de plus de 10 jours vers %OLDFILES%
echo =============================================================================
echo.
for /f %%i in (%IBLOG%) do (
forfiles -p%%i -m* -d-10 -c"cmd /c move %%i\@FILE %OLDFILES%"
)

SET /A count=0
FOR /F "usebackq delims==" %%A IN (`DIR /B %OLDFILES%`) DO SET /A count+=1
IF %count% GTR 1 (
ECHO %count% fichers deplaces
) ELSE (
ECHO Aucun fichier deplace - Erreur !!!
)


pause
Le problème interviens à partir de la partie où je liste les fichiers datant de plus de 10 jours. En effet, je prend l'information depuis un fichier de log généré plus haut dans mon script. Mais je ne comprend pas pourquoi il ne peux pas me listé les fichiers datant de plus de 10 jours !

Si quelqu'un peux m'aidé c'est super sympa !