Supprimer des fichiers dans un répertoire

thenonos Messages postés 6 Date d'inscription mercredi 30 novembre 2005 Statut Membre Dernière intervention 15 décembre 2005 - 1 déc. 2005 à 22:09
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 - 2 déc. 2005 à 09:32
Bonjour, dans le cadre de projet dans mon école, je dois créer un programme permettant de supprimer des fichiers dans un répertoire.

Je dois utiliser un fichier .INI où dedans sera renseigner le répertoire, le type de fichiers (ex : .txt) et le délai (ex : 30 jours, c'est à dire que les fichiers correspondant au type de fichiers et qui sont inférieurs ou égales à 30 jours par rapport à la date d'aujourd'hui).
Et enfin je dois afficher dans un .log un résumé du nombre de fichiers ainsi que la date et l'heure.

Je débute tout juste le VB et je ne suis pas du tout compétent. Nous avons établit avec mon professeur l'algorithme suivant:


DEBUT


Nbr ← 0


Tant que


(Comme un DIR sous Dos)


Ouvrir fichier .INI et charger les paramètres (répertoire ; nom générique ; délai)


Obtenir une liste des noms de fichiers correspondant au nom générique dans le répertoire indiqué. Les traités un par un.


Tan que « il y a des fichiers correspondant au nom générique »


Obtenir la date du fichier


Comparer Date ← Date du jour – Délai


Si Date du fichier ≤ Date Alors


Supprimer fichier


Nbr ← Nbr + 1


Fin Si


Fin Tant que


Fin Tant que


Ecrire dans le .LOG (Sous Programme)

FIN

Merci pour votre aide

2 réponses

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
1 déc. 2005 à 22:32
Salut

Utilises les filesysteme object

pour cela il faut ajouter la reference a meicrosoft scripting

sur le site
http://www.secretswindows.com/index.php?rubrique=scripts&path=/&page=./scripts/presentation.htm
tu auras tout les api pour gerer cela.

et utilises les expressions regulieres de vb pour test ton schema

calcul de la date
avec dateadd et un nombre negatif

pour tout les fichiers du repertoire
ouverture log
si fichier corresponf a regex (methode test des regexp) et datefichier < datecalculé
alors detruction du fichier
ecriture log
else
rien
end if
fin tant que

fermerture log

le pattern de la regex
peut être
*.ini|*.txt normalement ce pattern devrait fonctionner directement.

exemple de regexp

'Create a regular expression.
Dim regEx
Set regEx = New RegExp
regEx.IgnoreCase = True

'Search the output for indications of failure
regEx.Pattern = "Not connected|Invalid command"
If (ReturnCode <> 0) Or (regEx.Test(Output) = True) Then
FTPExecute = False
Else
FTPExecute = True
End If
End Function

apres tu melanges le tout et tu auras ton programme.
alors amuses toi bien.
0
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
2 déc. 2005 à 09:32
Voici quelques pistes :
- Fonction Dir() pour rechercher des fichiers sur le disque
- Instruction Kill pour supprimer un fichier sur disque
- Fonction DateDiff() pour comparer des dates
- API GetPrivateProfileString() pour lire un fichier INI.

Fait quelques recherches sur ces 4 sujet et tu trouveras sans doute tout ce qu'il faut pour faire ton projet (point 1 , 2 et 3 dans l'aide de VB6 - Point 4 ici même par exemple ou sur le site de Dark Sidious : www.progotop.com)

CR
0
Rejoignez-nous