begin process at 2012 02 10 00:44:45
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

VBScript

 > EFFACER FICHIER/DOSSIERS EN FONCTION DE LEUR DERNIERE DATE DE MODIFICATION.

EFFACER FICHIER/DOSSIERS EN FONCTION DE LEUR DERNIERE DATE DE MODIFICATION.


 Information sur la source

Note :
Aucune note
Catégorie :VBScript Classé sous :fichier, dossiers, effacer, vbs Niveau :Débutant Date de création :13/12/2006 Date de mise à jour :04/04/2007 09:32:30 Vu :12 786

Auteur : darksnake69

Ecrire un message privé
Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note

 Description

Ce code est ecrit en Vbscript, pour dans un dossier effacer les fichiers et dossiers en fonction de leur derniere date de modification.

je suis un debutant, en fait j'ai appris le vbs en faisant ce script (je ne suis pas developpeur mais admin reseaux)

je l'ai commenté le plus possible pour les debutants, il y a des fonctions que l'on peut reprendre : "recursive, appel de fonction, utilisation du FSO, ..."

soyez indulgent, je poste plus pour les debutants qui galére, comme j'ai galeré, que pour la posteritée (^^) un peut de fiertée personnelle quand meme.

je n'ai pas trouvé de source qui y resemble (ou alors pleins de sources qui faut assenbler ) si elle existe deja supprimer la !    

Source

  • on error resume next
  • 'declaration des variables
  • Dim folder
  • dim Subfolder
  • dim path
  • Dim FSO
  • Dim B
  • 'instantation du file system object (FSO)
  • Set FSO = CreateObject("Scripting.FileSystemObject")
  • 'initialisation de la variable contenant le chemin du repertoire racine
  • path = "D:\test_transit\Transit"
  • 'appel de la fonction recurcive avec comme argument le chemin du repertoire
  • 'racine
  • recurcive path
  • function recurcive(chemin) 'fonction récurcive pour traiter tout l'arboresence
  • 'des dossiers
  • set folder = FSO.GetFolder (chemin) 'utilisation du FSO pour prendre le dossier
  • 'racine
  • set Subfolder = folder.SubFolders 'definition de la varibale pour les S/dossiers
  • for each A in Subfolder 'pour chaque dossier dans le sous dossier racine
  • Set fic = A.Files 'definition de la variables toucher les fichier des dossier
  • fichier fic 'appel de la fontion fixhier
  • recurcive A 're-appel de la fonction recurcive pour traiter les S/dossiers
  • next
  • end function 'fin de la fonction
  • function fichier(fic) 'fonction qui traite les fichiers dans les dossiers A
  • For Each objFile in fic 'pour chaque fichier dans dossiers de fichier
  • Set f = fso.GetFile(objfile) 'utilisation du FSO pour prendre le fichier
  • If DateDiff("D", objfile.DateLastModified, now) > 10 Then 'si la derniére modification du fichier est plus ancienne que X jours
  • msgbox objfile & " a suprimer" 'alors effacer le fichier avec option de forcer pour les fichier en lecture seule
  • 'FSO.DeleteFile f, force = yes
  • end if 'fin du SI
  • next
  • end function 'fin de la fonction
  • Set fic = folder.Files
  • fichier fic
  • set folder = FSO.GetFolder (path)'utilisation du FSO pour prendre le dossier
  • For Each B in folder.subfolders 'pour chaque dossier dans le dossier racine
  • If B.size = 0 Then 'si la taille du dossier est egal a 0 (donc vide)
  • msgbox B & B.size 'effacer le dossier
  • 'FSO.DeleteFolder B, force = yes
  • End If 'fin du SI
  • Next
on error resume next
'declaration des variables
Dim folder
dim Subfolder
dim path
Dim FSO
Dim B
'instantation du file system object (FSO)
Set FSO = CreateObject("Scripting.FileSystemObject")

'initialisation de la variable contenant le chemin du repertoire racine
path = "D:\test_transit\Transit"

'appel de la fonction recurcive avec comme argument le chemin du repertoire
'racine
recurcive path

function recurcive(chemin) 'fonction récurcive pour traiter tout l'arboresence
                           'des dossiers

set folder = FSO.GetFolder (chemin) 'utilisation du FSO pour prendre le dossier
                                    'racine
set Subfolder = folder.SubFolders   'definition de la varibale pour les S/dossiers

for each A in Subfolder 'pour chaque dossier dans le sous dossier racine
        Set fic = A.Files 'definition de la variables toucher les fichier des dossier

        fichier fic 'appel de la fontion fixhier
        recurcive A 're-appel de la fonction recurcive pour traiter les S/dossiers
        
next
end function 'fin de la fonction


function fichier(fic) 'fonction qui traite les fichiers dans les dossiers A

For Each objFile in fic 'pour chaque fichier dans dossiers de fichier
        Set f = fso.GetFile(objfile) 'utilisation du FSO pour prendre le fichier
            If DateDiff("D", objfile.DateLastModified, now) > 10 Then 'si la derniére modification du fichier est plus ancienne que X jours
            msgbox objfile & " a suprimer" 'alors effacer le fichier avec option de forcer pour les fichier en lecture seule
            'FSO.DeleteFile f, force = yes
            end if 'fin du SI
    next
    
end function 'fin de la fonction

Set fic = folder.Files
fichier fic

       set folder = FSO.GetFolder (path)'utilisation du FSO pour prendre le dossier
       For Each B in folder.subfolders 'pour chaque dossier dans le dossier racine
                If B.size = 0 Then 'si la taille du dossier est egal a 0 (donc vide)
                 msgbox B & B.size 'effacer le dossier
                 'FSO.DeleteFolder B, force = yes
                End If 'fin du SI
		
        Next
        



 Conclusion

j'ai mis en commentaire les commandes pour la supresion et mis des MSGBOX a la place par securitée (ne rigoler pas on ne sait jamais !)

j'attend vos remarques, critiques, amelorations possibles

MERCI !


 Historique

14 décembre 2006 09:41:46 :
1 - rajout d'un commentaire
14 décembre 2006 11:05:27 :
2 - mis e ajour de variables
14 décembre 2006 14:13:31 :
3 - mise a jour pour etre mis en production
04 avril 2007 09:31:12 :
ajout à la ligne 47 de "Set fic = folder.Files" , car les fichiers à la racine n'étaient pas supprimés. merci a Sidclimber pour son aide
04 avril 2007 09:32:30 :
mauvaise manipulation

 Sources de la même categorie

Source avec Zip Source avec une capture RECHERCHE & SAUVEGARDE DES FICHIERS PAR LEURS EXTENSIONS par hackoo
Source avec Zip Source avec une capture [VBS] SPLASH SCREEN EN VBSCRIPT par hackoo
Source avec Zip Source avec une capture [VBS] GOOGLE EASTER EGGS par hackoo
Source avec Zip Source avec une capture FILE2COMPARE: COMPARAISON DE DEUX FICHIERS LIGNE PAR LIGNE par hackoo
Source avec Zip Source avec une capture [VBS] COMMENT CRÉER UN DOSSIER ET LE PROTÉGER PAR MOT DE PAS... par hackoo

 Sources en rapport avec celle ci

Source avec Zip Source .NET (Dotnet) DÉFRAGMENTER UN FICHIER par ShareVB
Source avec Zip Source .NET (Dotnet) MODIFIER LES EXTENSION DES FICHIERS par okosa
[VBSCRIPT] LISTE DES FICHIERS, D'UN RÉPERTOIRE, TRIÉS PAR DA... par JMO
SCRIPT EN VBS QUI DÉCOUPE UN FICHIER EN PLUSIEURS FICHIERS D... par BenGolgoth
OPÉRATION BASIQUE SUR FICHIER EN VBS par Krox68

Commentaires et avis

Commentaire de Sidclimber le 09/02/2007 16:52:29

Merci darksnake69, ton script m'a fait gagner pas mal de temps.
Moi je le trouve bien, il fonctionne sans avoir à le retoucher et le moins que l'on puisse dire est qu'il est commenté !
J'ai quand même rajouté les 2 lignes suivantes à la ligne 47, car les fichiers à la racine n'étaient pas supprimés.

Set fic = folder.Files
fichier fic

A+

Commentaire de djedjeska le 22/11/2007 22:48:04

ché moi le fso.deletefile mindique un défaut de compatibilité ! Qqn pourrait m'aider?
dim fichier
set fso = CreateObject("Scripting.FileSystemObject")
const forreading = 1, forwriting = 2, forappending = 8
set fichier = fso.createtextfile ("chemin\fichier.txt", forwriting,true)
msgbox "coucou"
fso.deletefile fichier, force = yes

Commentaire de darksnake69 le 09/01/2008 15:01:15

essaye plutot

[code]
Dim fso, MyFile, MyFile2
Set fso = CreateObject("Scripting.FileSystemObject")

fic = "c:\testfile.txt"

Set MyFile = fso.CreateTextFile(fic, True)
MyFile.WriteLine("Ceci est un test.")
MyFile.Close
msgbox "coucou"

Set MyFile2 = fso.GetFile(fic)
MyFile2.Delete



[/code]

tiré de la doc vbscript.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Création d'une base de données Oracle dans un fichier vbs [ par Fatma ] Je recherche la dll qui me permettra de créer une base de données Oracle dasn un fichier vbs comme la dll SQLDMO suivante :WScript.createObject("SQLDM Comment creer un fichier avec l'extention VBS [ par crackenkill ] Comment creer un fichier avec l'extention VBS car des que je la mait manuellement le pc dit qu'il y a un erreur lister des dossiers dans un fichier [ par EchoSetH ] je cherche le moyen de liste dans un fichier txt les dossiers ke je met dans un DirListBox, en fait je n'arrive pas a trouver le nom des dossiers dans Effacer le fichier INDEX.DAT [ par Gemini ] BonjourJe voudrais savoir comment effacer le fichier INDEX.DAT dans le répertoire Windows\cookies ?Merci d'avance si quelqu'un connaît la réponse J ai un probleme [ par Delpieron ] Voila comme un con j ai clique sur un fichier .vbs et apres cela a commencer un pb assez byzarre dans mon ordi : les fichier jpg et mp3 sont en .mp3.v Fichier MP3 en VBS [ par dek ] Salut a tous ceux qui me lironsVoila depuis que j'ai installer visual basic 6 de visual studio j'ai des petits fichiers en VBS et tous mes mp3 se sont .exe et effacer le contenu d'un fichier [ par skeul ] bonjour, j'aurais 2 nlles questions :comment effacer le contenu d'un fichier?mais pas en utilisant qqchose comme print ""autrement, si je n'ai que mic .exe et effacer le contenu d'un fichier [ par skeul ] bonjour, j'aurais 2 nlles questions :comment effacer le contenu d'un fichier?mais pas en utilisant qqchose comme print ""autrement, si je n'ai que mic Appel sub depuis fichier .vbs [ par lesky ] G un PETIT PROBLEME je veux appeler une fonction definit comme ceci : Public Sub CC_InitCortWordDDEMaq(strNomStruct As String) dialog - explorateur de dossiers [ par violette ] Bonjour,quel est le nom de la boîte de dialogue qui permet de selectionner un dossier. (xldialogOpen, mais sans faire apparaître les fichiers). Dans m


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
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 : 0,920 sec (4)

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