agkklr | rira a écrit :
je suis débutant en vbs,
j'ai recupérer ce script qui me permet de choisir l'emplacement d'un dossier
et ensuite le prog se charge de nettoyer les fichiers de plus de 15 jours.
je voudrais modifier ce code de façon a avoir une variable cheminAScanner fixe et non plus le navigateur qui se lance pour choisir l'emplacement
(dans le but de lancer ce prog tout les matins sur un serveur et ainsi nettoyer des répertoires des utilisateurs)
et de plus quand je lance ce prog j'ai mon lecteur disquette qui s'active, et je ne vois pas d'ou cela provient...
Code :
- '*******************************************************************************
- ' 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
|
|
Set objFolder = objShell.BrowseForFolder _
(WINDOW_HANDLE, "Selectionner le dossier à traiter :", NO_OPTIONS, "." )
Set objFolderItem = objFolder.Self
strFolderName = objFolderItem.Path
strFolderName = Chemin à scanner
Pour le lecteur de disquettes, je ne sais pas, peut-être un effet secondaire d'une des lib Ca n'empêchera pas le truc de fonctionner, mais je trouve que c'est un peu usine à gaz Message édité par agkklr le 08-09-2006 à 09:15:51 ---------------
"Mon modèle, c'est moi-même."
|