Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

SUPPRIME FICHIERS DATANT DE PLUS DE 15 JOURS !!!!


Information sur la source

Description

Se script en VBS vous permet de suuprimer les fichiers datant de plus de 15 jours vous pouvez bien evidemment Changer se parametre.Lorsque vous le lancer une boite de dialogue apparait pour vous demander de choisir les dossier a explorer pour supprimer les fichiers en question.Il permet d explorer le sous dossier egalement!

J espere qu il sera utile et dite moi ce que vous en pensez et si vous trouvez des ameliorations
 

Source

  • '*******************************************************************************
  • ' Script permettant D 'effacer les fichiers Qui date de plus de 15 jours
  • ' Avec interface Graphique
  • '
  • '*******************************************************************************
  • strComputer = "."
  • Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
  • Set objFSO = CreateObject("Scripting.FileSystemObject")
  • Set objShell = CreateObject("Shell.Application")
  • Set objFolder = objShell.BrowseForFolder _
  • (WINDOW_HANDLE, "Selectionner le dossier à traiter :", NO_OPTIONS, ".")
  • Set objFolderItem = objFolder.Self
  • strFolderName = objFolderItem.Path
  • Set colSubfolders = objWMIService.ExecQuery _
  • ("Associators of {Win32_Directory.Name='" & strFolderName & "'} " _
  • & "Where AssocClass = Win32_Subdirectory " _
  • & "ResultRole = PartComponent")
  • 'Wscript.Echo strFolderName
  • arrFolderPath = Split(strFolderName, "\")
  • strNewPath = ""
  • For i = 1 to Ubound(arrFolderPath)
  • strNewPath = strNewPath & "\\" & arrFolderPath(i)
  • Next
  • strPath = strNewPath & "\\"
  • Set colFiles = objWMIService.ExecQuery _
  • ("Select * from CIM_DataFile where Path = '" & strPath & "'")
  • For Each objFile in colFiles
  • Set objReadOnlyFile = objFSO.GetFile(objFile.Name)
  • 'Wscript.Echo objFile.Name & chr (10) & objReadOnlyFile.DateLastModified
  • if DateDiff("d",objReadOnlyFile.DateLastModified ,Date)>15 then
  • objFile.delete
  • end if
  • Next
  • For Each objFolder in colSubfolders
  • GetSubFolders strFolderName
  • Next
  • Sub GetSubFolders(strFolderName)
  • Set colSubfolders2 = objWMIService.ExecQuery _
  • ("Associators of {Win32_Directory.Name='" & strFolderName & "'} " _
  • & "Where AssocClass = Win32_Subdirectory " _
  • & "ResultRole = PartComponent")
  • For Each objFolder2 in colSubfolders2
  • strFolderName = objFolder2.Name
  • 'Wscript.Echo
  • 'Wscript.Echo objFolder2.Name
  • arrFolderPath = Split(strFolderName, "\")
  • strNewPath = ""
  • For i = 1 to Ubound(arrFolderPath)
  • strNewPath = strNewPath & "\\" & arrFolderPath(i)
  • Next
  • strPath = strNewPath & "\\"
  • Set colFiles = objWMIService.ExecQuery _
  • ("Select * from CIM_DataFile where Path = '" & strPath & "'")
  • For Each objFile in colFiles
  • Set objReadOnlyFile = objFSO.GetFile(objFile.Name)
  • if DateDiff("d",objReadOnlyFile.DateLastModified ,Date)>15 then
  • 'Wscript.Echo objFile.Name & chr (10) & objReadOnlyFile.DateLastModified
  • objFile.delete
  • end if
  • Next
  • GetSubFolders strFolderName
  • Next
  • End Sub
'*******************************************************************************
' Script permettant D 'effacer les fichiers Qui date de plus de 15 jours
' Avec interface Graphique
'
'*******************************************************************************


strComputer = "."

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objShell = CreateObject("Shell.Application")		
Set objFolder = objShell.BrowseForFolder _
    (WINDOW_HANDLE, "Selectionner le dossier à traiter :", NO_OPTIONS, ".")
Set objFolderItem = objFolder.Self
strFolderName = objFolderItem.Path

Set colSubfolders = objWMIService.ExecQuery _
    ("Associators of {Win32_Directory.Name='" & strFolderName & "'} " _
        & "Where AssocClass = Win32_Subdirectory " _
            & "ResultRole = PartComponent")

'Wscript.Echo strFolderName

arrFolderPath = Split(strFolderName, "\")
strNewPath = ""
For i = 1 to Ubound(arrFolderPath)
    strNewPath = strNewPath & "\\" & arrFolderPath(i)
Next
strPath = strNewPath & "\\"

Set colFiles = objWMIService.ExecQuery _
    ("Select * from CIM_DataFile where Path = '" & strPath & "'")

For Each objFile in colFiles
    Set objReadOnlyFile = objFSO.GetFile(objFile.Name)
     'Wscript.Echo objFile.Name & chr (10) &  objReadOnlyFile.DateLastModified
 if DateDiff("d",objReadOnlyFile.DateLastModified ,Date)>15 then

     objFile.delete
end if
Next

For Each objFolder in colSubfolders
    GetSubFolders strFolderName
Next

Sub GetSubFolders(strFolderName)
    Set colSubfolders2 = objWMIService.ExecQuery _
        ("Associators of {Win32_Directory.Name='" & strFolderName & "'} " _
            & "Where AssocClass = Win32_Subdirectory " _
                & "ResultRole = PartComponent")

    For Each objFolder2 in colSubfolders2
        strFolderName = objFolder2.Name
        'Wscript.Echo
        'Wscript.Echo objFolder2.Name
        arrFolderPath = Split(strFolderName, "\")
        strNewPath = ""
        For i = 1 to Ubound(arrFolderPath)
            strNewPath = strNewPath & "\\" & arrFolderPath(i)
        Next
        strPath = strNewPath & "\\"

        Set colFiles = objWMIService.ExecQuery _
            ("Select * from CIM_DataFile where Path = '" & strPath & "'")

        For Each objFile in colFiles
        Set objReadOnlyFile = objFSO.GetFile(objFile.Name)
        if DateDiff("d",objReadOnlyFile.DateLastModified ,Date)>15 then
            'Wscript.Echo objFile.Name & chr (10) &  objReadOnlyFile.DateLastModified
            objFile.delete

          end if

        Next

        GetSubFolders strFolderName
    Next
End Sub

Commentaires et avis

signaler à un administrateur
Commentaire de JMO le 10/12/2005 21:11:30

Superbe code. Je ne connaissais pas l'interface graphique.
Question: Où trouver une doc pour cette interface ???.
En l'adaptant, on peux faire de jolies présentations visuelles.
jeanmarc

signaler à un administrateur
Commentaire de mafio31 le 24/05/2007 10:11:15

je n'arrive pas à utiliser ce script, il m'intérésse.
Merci

signaler à un administrateur
Commentaire de Renfield le 24/05/2007 10:58:21 administrateur CS

copie le tout dans un fichier nommé .vbs

et double cliques sur ce dernier.

testé, le script marche impeccable

signaler à un administrateur
Commentaire de Raphou96 le 31/05/2007 15:27:58

Salut,

Parfait ton code, il faudrait que je le réadapte car il correspond à mon besoin mais je suis trop nul dans ce language.
Car moi je cherche à supprimer les fichiers repertoires anterieur de 30 jours par rapport à la date du jour et ceci de manière automatique afin de supprimer le contenu obsolète d'un répertoire d'echange commun.

Si tu as la possibilité de m'aider à modifier ton code je suis preneur.

A+

signaler à un administrateur
Commentaire de perlon le 08/06/2007 09:50:30

Bonjour,
J'en appelle à votre bon coeur pour m'aider dans ma démarche.
Tout comme pour Raphou96, ce script m'intéresse beaucoup, mais il y aurais quelques modif à faire (et étant complètement nul en programmation)je ne sait quoi modifier.
dans mon cas, je souhaite supprimer les fichiers et/ou dossier datant de plus de 7 jours dans un répertoire commun.

Je suis à l'écoute de toutes propositions.

Merci

signaler à un administrateur
Commentaire de Raphou96 le 08/06/2007 16:37:47

Salut Perlon
J'ai fait un ou deux changements qui collent avec ce que je voulais dans ma boite pour la suppression de mon commun.
Je noterai ma solution d'ici lundi, enfin faut juste que j'y pense et que j'en trouve le temps.
Dès que c'est fait, je t'enverrai un message. En tout cas ca marche dans ma boite suppression > 20 jours (dernière date de modification).
Bon week end

signaler à un administrateur
Commentaire de JMO le 08/06/2007 21:30:33

Bonsoir à tous,

Bonsoir "Raphou96"  et "perlon",

L'auteur de cette source (mohax007) n'ayant pas visité ce forum depuis le 12/08/2005,
pouvez-vous ouvrir un topic dans la rubrique
"Thèmes  / Visual Basic 6 / Langages dérivés / VBScript".
Ceci afin de ne pas "polluer" les sources et ainsi de faire "vivre" ce magnifique forum.
Réponses garanties !!!

jean-marc

signaler à un administrateur
Commentaire de imparator_42 le 25/03/2008 17:44:20

Vous voudrez pas nous donner en form de zip ?
parce que la, il me cause des problème .. .

signaler à un administrateur
Commentaire de JMO le 25/03/2008 20:40:47

Bonsoir à tous,
Bonsoir imparator_42,

mohax007 ne s'étant pas connecté sur ce forum depuis 2005, il serait préférable d'ouvrir un post dans le thème approprié "Thèmes / Visual Basic 6 / Langages dérivés / VBScript "

>>> Vous voudrez pas nous donner en form de zip ?
>>> parce que la, il me cause des problème .. .

Quel(s) problème(s) rencontrez-vous ???

signaler à un administrateur
Commentaire de imparator_42 le 25/03/2008 20:54:32

Ben enfait le code marche très bien quand je choisis un dossier qui n'a pas de sous-dossier...
le  problème se fait quand je choisi un dossier qui a un sous-dossier...
le code traite bien les fichiers qui se trouve dans le dossier mais pas ceux qui se trouve dans les sous-dossiers

Et il me montre comme erreur de référence cette partie du code :

    Set colSubfolders2 = objWMIService.ExecQuery _
        ("Associators of {Win32_Directory.Name='" & strFolderName & "'} " _
            & "Where AssocClass = Win32_Subdirectory " _
                & "ResultRole = PartComponent")

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Petit script pour effacer fichiers antérieur à une date [ par rodoch ] Bonjour,Je ne connais pas grand chose au VBS, cependant j ai un besoin urgent de script.Ce que le script doit faire :- Vérifier les dates des fichiers Supprimer tous les fichiers antérieurs à une date [ par Jeannotat ] Bonjour,Est-ce que quelqu'un pourrais me dire le code pour supprimer tous les fichiers d'un lecteur (ex: E:\) ,contenu dans plusieurs niveau Supprimer des fichiers dans un répertoire [ par thenonos ] Bonjour, dans le cadre de projet dans mon école, je dois créer un programme permettant de supprimer des fichiers dans un répertoir Effacer un dossier contenant des fichiers. [ par MoiDebutantVB ] Comment effacer un dossier contenant des fichiers ? Ou alors supprimer tous les fichiers d'un dossier et de ses sous dossiers et ensuite supprime Effacer des fichiers en fonction de leur date de céation [ par gosub59 ] Bonjour, je developpe un projet en VB6, j'aimerais savoir si il est possible de supprimer des fichier ".txt" et ".doc" en fonction de leur date de cré supprimer "date auto" dans fichiers Word [ par NanouZozo ] est-il possible de supprimer les automatisations de date dans des fichiers word déja créés? Le probleme est que la société a enregistré des documents Supprimer un fichier en asp [ par blackpearl ] Je veux supprimer des fichiers par ASP mais mon script ne fonctionne pas!!!!Voici le code(simplifié, j'ai retiré le code inutile pour la question):le_ Effacer autonatiquement des fichiers [ par deju ] Bonjour Je realise automatiquement une sauvegarde d'un fichier dans un repertoire en VB. J'aimerais supprimer les fichiers les plus anciens quand la t supprimer enregistrement dans formulaire? [ par fredieuric ] Salut a tous,Je veux simplememt rajouter un bouton dans un formulaire pour effacer l enregistrement courant. Il y a un truc de l assistant qui permet supprimer date automatique [ par NanouZozo ] bonjour,est-il possible de supprimer les automatisations de date dans des fichiers word déja créés? Le probleme est que la société a enregistré des do


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,827 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.