begin process at 2012 02 13 21:03:25
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Fichier / Disque

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

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



 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) MODIFIER LES EXTENSION DES FICHIERS par okosa
ROUTINE DIR RÉCURSIVE POUR OBTENIR LA LISTE DE TOUS LES FICH... par kerisolde
Source avec Zip Source avec une capture FILE,SECURITY,FICHIER par okosa
Source avec Zip Source avec une capture Source .NET (Dotnet) PATCHEUR DE FICHIER par tototh
Source avec Zip Source avec une capture LECTURE DES INFORMATIONS DES DISQUES COMPOSANT UN ENSEMBLE R... par jack

 Sources en rapport avec celle ci

Source avec Zip SUPPRESSION DE CERTAINS FICHIERS DANS UN RÉPERTOIRE PARTICUL... par noritakaroi2labaston
Source avec Zip SUPPRIMER DES FICHIERS EN DOUBLE (D'APRES LEUR NOM) par couteau7
Source avec Zip Source avec une capture RENOMMER/REMPLACER/SUPPRIMER UN OU PLUSIEURS CARACTÈRES DANS... par KaFarD
Source avec Zip COPIE DE FICHIERS SS ECRASER CEUX DÉJÀ EXISTANTS par OBI76
Source avec Zip Source avec une capture AVI DESTROY€R par ZedMaTrix

Commentaires et avis

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

Commentaire de mafio31 le 24/05/2007 10:11:15

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

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

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+

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

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

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

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 .. .

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 ???

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")

Commentaire de us_30 le 28/07/2009 22:50:50

CHÔ, CHÔ ce script !

ATTENTION ! PRENEZ GARDE le script ne demande aucune confirmation ! Juste à l'essayer on peut perdre beaucoup d'un coup... Cela vient de m'arriver...

A bon entendeur... je vous salue...

Amicalement,
Us.

Commentaire de pierremarc35 le 03/03/2010 16:57:47

Même probleme que imparator_42 au niveau des lignes suivante :

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

Cependant, j'ai pu constater que le soucis venait du fait que le nom de dossier comportait une/des simples quotes.

Comment passer outre ?

J'ai essayer les doubles doubles quotes :

Win32_Directory.Name=""" & strFolderName & """
au lieu de
Win32_Directory.Name='" & strFolderName & "'

Merci de me répondre si qql un connait une solution ...

 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 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

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 8,564 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales