Bonjour,
Je souhaite réaliser un script qui recherche les fichiers qui n'ont pas été modifiés depuis le 01/01/2005, la liste est mise dans un fichier xls.
Les fichiers trouvés sont ensuite déplacés vers un autre répertoire tout en gardant l'arboressance.
Je m'explique :
Je map "c:\temp" en temps que lecteur "j:\"
Je scan le lecteur "j:\" et enregistre la liste des fichiers trouvés (qui ne sont plus utilisés) dans un fichiers excel.
A chaque ligne enregistrée dans le fichier excel, le fichier trouvé doit être déplacé sur un autre disque (Le but étant de déplacer ces fichiers sur un autre serveur)exemple de liste récupérée :
j:\test\fichier.doc
j:\test\nouveau_test\fichier1.doc
j:\test\nouveau_test\modèle\fichier2.doc
etc....
Dans mon exemple, je déplace les fichiers trouvés dans "d:\archives"
ATTENTION : Le fichier doit être déplacer mais en reconstruisant l'arboressance dans le répertoire de destination et une fois déplacé il ne doit plus se trouver dans "j:\".
Au finale, le fichier excel doit être enregistré dans le répertoire mes documents sous le nom : Listes_fichiers.xlsCa donne à l'arrivée :
d:\archives\test\fichier.doc
d:\archives\test\nouveau_test\fichier1.doc
d:\archives\test\nouveau_test\modèle\fichier2.doc
etc......
Voici donc le script que j'ai fais, mais il y a des problème dans le déplacement des fichiers. Je n'arrive pas non plus a reproduire l'arboressancedans le répertoire de destination. Enfin, je n'arrive pas a enregistrer mon document excel dans le répertoire de mon choix avec le nom de mon choix. (Le fichier excel est systématiquementenregistré dans mes documents sous le nom Classeur1.xls)
Merci d'avance pour votre aide.
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 'Déclaration des variables dim DateSearch, LecteurSearch, Searchshare, strdate 'Affectation de valeurs aux variables DateSearch = "20050101" LecteurSearch = "J:" Searchshare = "\\MON_PC\c$\temp" strDate = DateSearch & "000000.000000+000" strComputer = "." i_folder_dest = "d:\archivage\" 'Création des objets Set WshNetwork = CreateObject("WScript.Network") Set objExcel = CreateObject("Excel.Application") '########## FONCTION LISTFILES ########## Function Listfiles() Set objFSO = CreateObject("Scripting.FileSystemObject") objExcel.ActiveWorkbook.Worksheets.Add Set objSheet = objExcel.ActiveWorkbook.Worksheets(1) objSheet.Name = "Old transfert Files" x = 1 'mappage du lecteur J:\ WshNetwork.MapNetworkDrive LecteurSearch,Searchshare 'Recherche Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colFiles = objWMIService.ExecQuery _ ("Select * From CIM_DataFile Where Lastaccessed < '" & strDate & "'" & _ " AND Drive = '" & LecteurSearch & "'") For Each objFile in colFiles objExcel.Cells(x, 1) = objfile.name objFSO.MoveFile "objfile.name", i_folder_dest & "\",false x = x + 1 Next End Function '########## PROGRAMME PRINCIPALE ########## 'Ouverture du fichier Excel objExcel.Visible = True Set objWorkbook = objExcel.Workbooks.Add Listfiles 'Lancement de la fonction Listfiles objWorkbook.Save() 'Enregistrement du classeur Excel en local dans Mes Documents\classeur1.xls objExcel.Quit 'demappage du lecteur J:\ WshNetwork.RemoveNetworkDrive "J:" 'Désactivation des abjets Set objExcel = nothing Set WshNetwork = nothing
Partager