Bonjour,
je dois faire un programme .bat qui copie le contenu d'un dossier sur un serveur, vide le dossier de base, compte le nombre de fichiers dans le dossier de destination et si il y en a plus de 100, supprime les plus vieux. Mon problème se situe au moment de supprimer les plus vieux fichiers, ça ne marche et mon invité de commandes se ferme tout seul, je ne peux donc pas voir d'où vient l'erreur. Je précise que je le PC sur lequel le script est exécuté est un Windows XP et le serveur où sont copiées les données un Windows Server 2003.
Voici la portion de code qui pose problème :
rem CALCUL DU NOMBRE DE FICHIERS A SUPPRIMER
set /a nb_files_to_del=%compt%-100
rem SUPPRESION DES FICHIERS TROP VIEUX
if %nb_files_to_del% gtr 0 (
echo.
echo Suppression des %nb_files_to_del% plus vieux traces
set /a compt2=0
for %%X in ("\\adresse_du_dossier_sur_le_serveur\*.*") do (
if %compt2% lss %nb_files_to_del% (
del %%X
set /a compt2+=1
echo %%X
)
)
)
echo.
echo Sauvegarde effectuee avec succes
pause
Le problème se situe dans la boucle for et j'avoue que je sèche.
Je vous remercie d'avance pour vos réponses,
Tartopom
Configuration: Windows XP
Firefox 3.0.3