[batch] tri et suppression

Résolu/Fermé
dark - 9 juin 2008 à 12:40
 tomtom30 - 13 juin 2008 à 09:24
Bonjour,

alors voila j ai crée (en bodouillant un peu^^) un programme qui recupère le titre d un fichier le compare a la date du pc et le supprime si le fichier a ete crée il y a plus d un certain temps ( la date se trouve dans le titre du fichier), j ai testé sur 7 jours
donc voila mon prog


dir C:\"Documents and Settings\admin\Bureau"\zip > C:\"Documents and Settings\admin\Bureau\texte\datezip".txt
FOR /F "tokens=1,2,3,4 skip=7 eol= delims=_,-" %%i in (datezip.txt) do set a=%%j et b=%%k et c=%%l
set X=%a:~18,2%
echo %X%
pause
set date=%date:~1,1%
set /a Y=%date%-%X%
IF %y% GTR 7 goto fichierdel
goto fin

:fichierdel
del /Q C:\"Documents and Settings\admin\Bureau"\zip

:fin


donc le probleme c est que se prog marche mais uniquement sur un seul fichier mais je dois lui en faire analyser plusieurs (entre 10 et 20) qui se trouveront tous dans le meme dossier ("zip") et je vois pas commen.... tout les nom son dans le fichier "datezip.txt" mais je ne sais pas comment lui dire "la premiere fois analyse le premier titre un fois que tu a fini tu recommence mais en regardant cette fois le deuxieme etc..."
et oui une derniere chose (oui je suis chiant oui je sais XD) si le programme detecte que le fichier est trop vieux comment lui dire lequel des 20 fichier il faut supprimmer???

voili voilou j espere que quelqu un pourra m aider^^
A voir également:

3 réponses

tomtom30 Messages postés 30 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 10 juin 2008 5
10 juin 2008 à 15:02
il faut que tu traite par ligne si jai bien compris.
chaque ligne etant un nom de fichier ( date )??

avec cette serie de ligne tu traite ligne par ligne

@echo off
for /f "delims=" %%a in (datezip.txt) do call :commande "%%a"
pause
exit
:commande
set ligne=%%a
echo %ligne%
.
reste juste a le greffer a ton batch et le tour est joué, pour ce qui est du premier problème.

Pour le second, j'y reflechi

a bientot
0
en fait mes dossier s appellent

bidule_2008-06-12_.zip

donc dans mon fichier datezip.txt j ai

bidule_2008-06-12_.zip
bidule_2008-06-11_.zip
bidule_2008-06-10_.zip
bidule_2008-06-09_.zip
bidule_2008-06-08_.zip
bidule_2008-06-07_.zip

et se que je voudrais, c est analyser la premiere ligne (bidule_2008-06-12_.zip) et une fois analyser recommencer mais cette fois, le programme analysera la deuxieme ligne (bidule_2008-06-11_.zip) une fois analyser recommencer...
0
alors je t'ai donner le code pour le traitement ligne par ligne au dessus tu na plus qu'a le greffer dans ton batch
0