Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1758 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Suivante
Auteur Sujet :

Suppression de fichiers en fonction d'une date.

n°2923761
ZeratuuL
Posté le 15-01-2010 à 15:31:52  profilanswer
 

Reprise du message précédent :
Salut,
 
Je viens de tester ta proposition, le script m'affiche deux erreurs différentes :
 
- D'abord, ce pop-up :
http://www.noelshack.com/up/aac/img1-1a607c8097.jpg  
(J'ai indiqué la ligne dans le script en commentaire)
 
- Ensuite, sans rien toucher, en re-exécutant le script, ce pop-up :
http://www.noelshack.com/up/aac/img2-456e540822.jpg  
 
Script entier :

'Declarations de variables
'Mapping du FTP
Dim WshNetwork
Set WshNetwork = WScript.CreateObject("WScript.Network" )
WshNetwork.MapNetworkDrive "Z:", "\\172.20.59.15\emeric"
 
'Repertoire ou sont stockees les Alertes Webcam (Photos ou Mini videos)
DossierAlertesWebcam = "Z:\"
 
'Repertoire ou sont stockees les captures webcam (Photos et Videos complètes)
DossierCapturesWebcam = "C:\Program Files\Wireless-G Internet Home Monitoring Camera\Storage\LKe74ad8\Data"
 
'Nombre de jours de conservation des Fichiers
AgeMaximalFichiers = "2"
 
'Initialisation des objets
Set fso = CreateObject("Scripting.FileSystemObject" )
 
'On verifie que le dossier de stockage des alertes existe
If (myName = Winrep = fso.FolderExists(DossierAlertesWebcam)) = False Then
    Erreur = MsgBox("Le Dossier des Alertes Webcam est introuvable !" )
    Wscript.Quit
End If
 
'On verifie que le dossier de stockage des captures existe
If (myName = Winrep = fso.FolderExists(DossierCapturesWebcam)) = False Then
    Erreur = MsgBox("Le Dossier des Captures Webcam est introuvable !" )
    Wscript.Quit
End If
 
 
'On recupere la date système
DateSysteme = Date
 
'Suppression des fichiers trop anciens
Set Folder = fso.Getfolder(DossierAlertesWebcam)
For Each File In Folder.Files
'LIGNE 38:
        If (DateDiff("d", File.DateCreated, DateSysteme) > CInt(AgeMaximalFichiers)) Then
   If File.Attributes And 1 Then File.Attributes = File.Attributes - 1
            File.Delete()
       End If  
Next
 
Set Folder = fso.Getfolder(DossierCapturesWebcam)
For Each File In Folder.Files
        If (DateDiff("d", File.DateCreated, DateSysteme) > CInt(AgeMaximalFichiers)) Then
   If File.Attributes And 1 Then File.Attributes = File.Attributes - 1
            File.Delete()
  End If
Next
 
'Supprime le mapping
WshNetwork. RemoveNetworkDrive "Z:"


 
Chemin du FTP :  
http://www.noelshack.com/up/aac/img3-f0d723d122.jpg  
 
J'ai fais un test avec E:, F:, T: lol mais à chaque fois il me crée un nouveau lecteur réseau du même nom :S
Donc voila ça ne fonctionne pas, est-ce que ça te parle ?


Message édité par ZeratuuL le 15-01-2010 à 15:32:55
mood
Publicité
Posté le 15-01-2010 à 15:31:52  profilanswer
 

n°2923766
ccp6128
Syntax error
Posté le 15-01-2010 à 15:52:03  profilanswer
 

Alors le 2) c'est normal si le script plante avant le démapping du disque :p
 
Pour le 1), chez moi ca marche.
 
Soit y'a un truc louche qui se passe avant, soit essaie de te passer de la conversion en int a savoir :
 

Code :
  1. AgeMaximalFichiers = 2
  2. If (DateDiff("d", File.DateCreated, DateSysteme) > AgeMaximalFichiers) Then


 
Mais je ne pense pas que ce soit lié à ca. Ton disque réseau est correctement mappé et contient bien des fichiers ?

n°2924326
ZeratuuL
Posté le 19-01-2010 à 10:37:29  profilanswer
 

Gros Oops :o
 
J'avais mis le topic en favoris ... et j'ai pas vu qu'on était passé page 3 lol .. je pensais que tu ne répondais plus ^^
 
Je teste ça dès que possible et je te tiens au courant merci Ccp :)

n°2924558
ZeratuuL
Posté le 20-01-2010 à 12:19:10  profilanswer
 

w00t ! Ça fonctionne contre toute attente lol ! ^^
 
Mes dossiers locaux ainsi que le serveur sont bien nettoyés.

n°2954345
sweed97
Posté le 22-07-2010 à 18:26:50  profilanswer
 

Bonjour,
 
Super merci pour le script qui fonctionne vraiment très bien.
 
Par contre, je ne cherche pas a supprimer directement les fichiers mais plutôt a les déplacer vers un dossier "archive" par exemple.
 
Quelle option mettre à la place du File.Delete() pour simplement déplacer les fichiers tout en gardant l'arborescence ?
 
Merci d'avance
 
 
 

ccp6128 a écrit :

Je vois que je suis loin d'etre le seul a utiliser ce genre de scripts alors.
 
le script qui suit est simple et se contente de supprimer les fichiers d'un repertoire en se basant sur la date de derniere modification. Il me servait pour nettoyer un repertoire qui recevait des fichiers de backup.
 


'Les declarations
 
 
'Repertoire ou sont stockes les fichiers
DossierSauvegarde = "C:\TEST\"
 
'Nombre de jours de conservation des Fichiers
AgeMaximalFichiers = "30"
 
'Comptage des fichiers effaces
NbFichiersEffaces = 0
 
'Initialisation des objets
Set fso = CreateObject("Scripting.FileSystemObject" )
 
'On verifie que le repertoire de sauvegarde existe
If (myName = Winrep = fso.FolderExists(DossierSauvegarde)) = False Then
    Erreur = MsgBox("Le dossier de sauvegarde est introuvable !" )
    Wscript.Quit
End If
 
'On recupere la date système
DateSysteme = Date
 
'Suppression des fichiers trop anciens
 
Set Folder = fso.Getfolder(DossierSauvegarde)
For Each File In Folder.Files
        If (DateDiff("d", File.DateLastModified, DateSysteme) > CInt(AgeMaximalFichiers)) Then
            'On verifie qu'ils ne sont pas en lecture seule
            If File.Attributes And 1 Then File.Attributes = File.Attributes - 1
            File.Delete()
            NbFichiersEffaces = NbFichiersEffaces + 1
        End If
Next
 
'On affiche un joli message
MsgBox (Cstr(NbFichiersEffaces) + " fichiers ont ete effaces" )



n°2954357
ccp6128
Syntax error
Posté le 22-07-2010 à 19:49:19  profilanswer
 

File.Move(CheminDestination)

Message cité 1 fois
Message édité par ccp6128 le 22-07-2010 à 23:46:49
n°2954419
sweed97
Posté le 23-07-2010 à 11:00:57  profilanswer
 

Merci beaucoup pour ta réponse rapide, ça marche bien mais par contre ça ne me déplace que les fichiers qui sont à la racine.
 
Je crois que le script ne va pas chercher dans toute l'arborescence.
 
 

ccp6128 a écrit :

File.Move(CheminDestination)


n°2954430
sweed97
Posté le 23-07-2010 à 11:58:27  profilanswer
 

J'ai trouvé en faisant un For Each File In Folder.SubFolders
 
Mais maintenant il ne prend que les fichiers dans les sous dossiers, mais plus ceux de la racine.
 
En tout cas, il garde bien l'arborescence.
 
Si quelqu'un a une solution pour chercher dans toute l'arborescence svp.
 
Merci beacoup.

n°2954433
sweed97
Posté le 23-07-2010 à 12:16:52  profilanswer
 

Bon je ne sais pas si c'est une bonne méthode mais j'ai fais comme ça et ça marche :
 
'Deplacement des fichiers trop anciens
 
Set Folder = fso.Getfolder(Nettoyage)
 
'Deplacement des fichiers stockes a la racine
For Each File In Folder.Files
        If (DateDiff("d", File.DateLastModified, DateSysteme) > CInt(AgeMaximalFichiers)) Then
            'On verifie qu'ils ne sont pas en lecture seule
            If File.Attributes And 1 Then File.Attributes = File.Attributes - 1
            File.Copy("c:\archive\" )
            NbFichiersDeplaces = NbFichiersDeplaces + 1
        End If
Next
 
'Deplacement des fichiers stockes dans les sous dossiers
For Each File In Folder.SubFolders
        If (DateDiff("d", File.DateLastModified, DateSysteme) > CInt(AgeMaximalFichiers)) Then
            'On verifie qu'ils ne sont pas en lecture seule
            If File.Attributes And 1 Then File.Attributes = File.Attributes - 1
            File.Copy("c:\archive\" )
            NbFichiersDeplaces = NbFichiersDeplaces + 1
        End If
Next
 
 
Merci pour tout en tout cas  :)

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Suivante

Aller à :
Ajouter une réponse
 

Sujets relatifs
le virus qui transforme les fichiers .doc en .exeWindows 98 - Perte de la fonction aide
Anciens fichiersScript CGI + récupération de fichiers zippés
FolderShare - Transfert de fichiers et accès aux fichiers à distancecommande DOS et date
windows : gestion des fichiers[Outlook 2003] Importer la liste de contact d'un pc sans suppression
Fichiers Excel2000 lecture seuleProblèmes Ajout suppression de programmes - Bandes noires sur les 2/3
Plus de sujets relatifs à : Suppression de fichiers en fonction d'une date.


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR