Bonjour je suis admin réseau, je voudrais améliorer mon script de suppression de fichier .bak.
Ayant fait un peu le tour des forums j'ai réussi à récupérer un script me permettant de supprimer tous les fichiers vieux de 31 jours avec l'extension .bak. J'ai remarqué que le script ne prenait pas en compte les sous dossiers.
La aussi il existe des scripts pour parcourir les sous dossiers mais mes connaissances vb ne me permettent pas de l'adapter a mon script. Pourriez vous me donner un coup de main s'il vous plait?
Mon script:
Merci d'avance
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81 Public function DeleteOlderFiles (ByVal FoldersToProcess, ByVal MaxDayAge, ByVal Extension) Dim FolderArray Dim FolderPath Dim objFSO Dim ObjFolder Dim ObjFile Dim FileAge Dim ErrorNumber If DebugMode = 1 Then Wscript.echo "DeleteOlderFiles() function" End If Set objFSO = CreateObject("Scripting.FileSystemObject") FolderArray = Split(FoldersToProcess, ";") For Each FolderPath In FolderArray If objFSO.FolderExists(FolderPath) Then If DebugMode = 1 Then Wscript.echo "Process " & FolderPath & " folder" End If Set ObjFolder = objFSO.GetFolder(FolderPath) For Each ObjFile In ObjFolder.Files 'Wscript.echo "File " & ObjFile.Name If ExtensionFichier(ObjFile.Name) = Extension Then FileAge = DateDiff("d", ObjFile.DateCreated, Now()) If DebugMode = 1 Then Wscript.echo "File " & ObjFile.Name & " have " & FileAge & " day(s)" End If If FileAge > MaxDayAge Then If DebugMode = 1 Then Wscript.echo "Deleting " & ObjFile.Name End If Err.Clear On Error Resume Next Call objFSO.DeleteFile(objFile.Path) ErrorNumber = Err.Number On Error goto 0 Select Case NumeroErreur Case 0 If DebugMode = 1 Then Wscript.echo "Done" End If Case Else Wscript.echo "Error for deleting file : " & Err.Description End Select End If End If 'If ExtensionFichier(ObjFile.Name) = "bak" Then Next Set ObjFolder = Nothing Else Wscript.echo "Folder " & FolderPath & " dont exist" End If Next Set objFSO = Nothing End Function Public Function ExtensionFichier(ByVal CheminFichier) 'Retourne l'extension du fichier Dim Position ExtensionFichier = "" Position = InStrRev(CheminFichier,".") If (Position > 0) And (Position < Len(CheminFichier)) Then ExtensionFichier = Mid(CheminFichier,Position+1) ExtensionFichier = Lcase(ExtensionFichier) End If End Function Call DeleteOlderFiles("D:\",31,"bak")
Partager