Bonjour,
je viens vous énoncer mon problème, j'ai un script qui me permet de supprimer des fichiers/dossiers datant de x jours. script qui fonctionne très bien.
seulement voilà, j'aimerais y ajouter des conditions, notamment, interdire la suppression de certains dossier portant le nom xxx.
mais je suis un peu perdue, je sais pas par où commencer et comment faire pour imposer ce critère (et si c'est possible bien sur)
je vous montre le script à l'heure actuelle :
je tiens à préciser que je débutes dans la programmation vbs, le script n'est pas de moi (mais je le comprends, c'est préférable... )
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53 sPath = "C:\temp\" sOlderThanDays = 15 sReportFiles = "Les fichiers suivants ont été nettoyés : " & vbCrLf sReportFilesCount = 0 sReportFolders = "Les dossiers suivants ont été nettoyés : " & vbCrLf sReportFoldersCount = 0 ' Compute old date dOldDate = dateadd("d", 0 - sOlderThanDays, Now()) ' Get base folder Set oFSO = CreateObject("Scripting.FileSystemObject" ) 'On appelle la fonction de nettoyage CleanFolder(sPath) Sub CleanFolder(sCurrentPath) ' select current folder Set oFolder = oFSO.GetFolder(sCurrentPath) ' Get subfolders Set oSubFolders = oFolder.SubFolders ' Do a recursive call if it contains subfolders For Each oCurrentFolder in oSubFolders CleanFolder oCurrentFolder.Path Next ' Get files in current folder Set oFiles = oFolder.Files ' Delete old Files For Each oCurrentFile in oFiles If oCurrentFile.DateCreated < dOldDate AND _ oCurrentFile.DateLastModified < dOldDate Then sReportFiles = sReportFiles & " - " & oCurrentFile.Path & "\" & oCurrentFile.Name & vbCrLf oCurrentFile.Delete True sReportFilesCount = sReportFilesCount + 1 End If Next Set oFiles = oFolder.Files If oFiles.Count = 0 AND oFolder.Path & "\" <> sPath Then sReportFolders = sReportFolders & " - " & oFolder.Path & "\" & vbCrLf oFolder.Delete True sReportFoldersCount = sReportFoldersCount + 1 End If End Sub MsgBox(Cstr(sReportFilesCount) + " fichiers ont ete effaces et " + Cstr(sReportFoldersCount) + " dossiers ont ete effaces")
si vous avez une idée pour m'aiguiller je suis prenante, je sèche un peu là.
et si je suis pas très clair, dite-le moi.
Merci
Partager