Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1481 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Effacer fichier de plus de 15 jours

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Effacer fichier de plus de 15 jours

n°1438105
rira
Posté le 07-09-2006 à 10:27:42  profilanswer
 

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 :
  1. '*******************************************************************************
  2.     ' Script permettant D 'effacer les fichiers Qui date de plus de 15 jours
  3.     ' Avec interface Graphique
  4.     '
  5.     '*******************************************************************************
  6.    
  7.    
  8.     strComputer = "."
  9.    
  10.    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2" )
  11.    Set objFSO = CreateObject("Scripting.FileSystemObject" )
  12.    Set objShell = CreateObject("Shell.Application" )       
  13.    Set objFolder = objShell.BrowseForFolder _
  14.        (WINDOW_HANDLE, "Selectionner le dossier à traiter :", NO_OPTIONS, "." )
  15.    Set objFolderItem = objFolder.Self
  16.    strFolderName = objFolderItem.Path
  17.    
  18.    Set colSubfolders = objWMIService.ExecQuery _
  19.        ("Associators of {Win32_Directory.Name='" & strFolderName & "'} " _
  20.            & "Where AssocClass = Win32_Subdirectory " _
  21.                & "ResultRole = PartComponent" )
  22.    
  23.    'Wscript.Echo strFolderName
  24.    
  25.    arrFolderPath = Split(strFolderName, "\" )
  26.    strNewPath = ""
  27.    For i = 1 to Ubound(arrFolderPath)
  28.        strNewPath = strNewPath & "\\" & arrFolderPath(i)
  29.    Next
  30.    strPath = strNewPath & "\\"
  31.    
  32.    Set colFiles = objWMIService.ExecQuery _
  33.        ("Select * from CIM_DataFile where Path = '" & strPath & "'" )
  34.    
  35.    For Each objFile in colFiles
  36.        Set objReadOnlyFile = objFSO.GetFile(objFile.Name)
  37.         'Wscript.Echo objFile.Name & chr (10) & objReadOnlyFile.DateLastModified
  38.     if DateDiff("d",objReadOnlyFile.DateLastModified ,Date)>15 then
  39.    
  40.        objFile.delete
  41.     end if
  42.    Next
  43.    
  44.    For Each objFolder in colSubfolders
  45.        GetSubFolders strFolderName
  46.    Next
  47.    
  48.    Sub GetSubFolders(strFolderName)
  49.        Set colSubfolders2 = objWMIService.ExecQuery _
  50.            ("Associators of {Win32_Directory.Name='" & strFolderName & "'} " _
  51.                & "Where AssocClass = Win32_Subdirectory " _
  52.                    & "ResultRole = PartComponent" )
  53.    
  54.        For Each objFolder2 in colSubfolders2
  55.            strFolderName = objFolder2.Name
  56.            'Wscript.Echo
  57.            'Wscript.Echo objFolder2.Name
  58.            arrFolderPath = Split(strFolderName, "\" )
  59.            strNewPath = ""
  60.            For i = 1 to Ubound(arrFolderPath)
  61.                strNewPath = strNewPath & "\\" & arrFolderPath(i)
  62.            Next
  63.            strPath = strNewPath & "\\"
  64.    
  65.            Set colFiles = objWMIService.ExecQuery _
  66.                ("Select * from CIM_DataFile where Path = '" & strPath & "'" )
  67.    
  68.            For Each objFile in colFiles
  69.            Set objReadOnlyFile = objFSO.GetFile(objFile.Name)
  70.            if DateDiff("d",objReadOnlyFile.DateLastModified ,Date)>15 then
  71.                'Wscript.Echo objFile.Name & chr (10) & objReadOnlyFile.DateLastModified
  72.                objFile.delete
  73.    
  74.              end if
  75.    
  76.            Next
  77.    
  78.            GetSubFolders strFolderName
  79.        Next
  80.    End Sub

mood
Publicité
Posté le 07-09-2006 à 10:27:42  profilanswer
 

n°1438837
agkklr
Posté le 08-09-2006 à 09:14:50  profilanswer
 

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 :
  1. '*******************************************************************************
  2.     ' Script permettant D 'effacer les fichiers Qui date de plus de 15 jours
  3.     ' Avec interface Graphique
  4.     '
  5.     '*******************************************************************************
  6.    
  7.    
  8.     strComputer = "."
  9.    
  10.    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2" )
  11.    Set objFSO = CreateObject("Scripting.FileSystemObject" )
  12.    Set objShell = CreateObject("Shell.Application" )       
  13.    Set objFolder = objShell.BrowseForFolder _
  14.        (WINDOW_HANDLE, "Selectionner le dossier à traiter :", NO_OPTIONS, "." )
  15.    Set objFolderItem = objFolder.Self
  16.    strFolderName = objFolderItem.Path
  17.    
  18.    Set colSubfolders = objWMIService.ExecQuery _
  19.        ("Associators of {Win32_Directory.Name='" & strFolderName & "'} " _
  20.            & "Where AssocClass = Win32_Subdirectory " _
  21.                & "ResultRole = PartComponent" )
  22.    
  23.    'Wscript.Echo strFolderName
  24.    
  25.    arrFolderPath = Split(strFolderName, "\" )
  26.    strNewPath = ""
  27.    For i = 1 to Ubound(arrFolderPath)
  28.        strNewPath = strNewPath & "\\" & arrFolderPath(i)
  29.    Next
  30.    strPath = strNewPath & "\\"
  31.    
  32.    Set colFiles = objWMIService.ExecQuery _
  33.        ("Select * from CIM_DataFile where Path = '" & strPath & "'" )
  34.    
  35.    For Each objFile in colFiles
  36.        Set objReadOnlyFile = objFSO.GetFile(objFile.Name)
  37.         'Wscript.Echo objFile.Name & chr (10) & objReadOnlyFile.DateLastModified
  38.     if DateDiff("d",objReadOnlyFile.DateLastModified ,Date)>15 then
  39.    
  40.        objFile.delete
  41.     end if
  42.    Next
  43.    
  44.    For Each objFolder in colSubfolders
  45.        GetSubFolders strFolderName
  46.    Next
  47.    
  48.    Sub GetSubFolders(strFolderName)
  49.        Set colSubfolders2 = objWMIService.ExecQuery _
  50.            ("Associators of {Win32_Directory.Name='" & strFolderName & "'} " _
  51.                & "Where AssocClass = Win32_Subdirectory " _
  52.                    & "ResultRole = PartComponent" )
  53.    
  54.        For Each objFolder2 in colSubfolders2
  55.            strFolderName = objFolder2.Name
  56.            'Wscript.Echo
  57.            'Wscript.Echo objFolder2.Name
  58.            arrFolderPath = Split(strFolderName, "\" )
  59.            strNewPath = ""
  60.            For i = 1 to Ubound(arrFolderPath)
  61.                strNewPath = strNewPath & "\\" & arrFolderPath(i)
  62.            Next
  63.            strPath = strNewPath & "\\"
  64.    
  65.            Set colFiles = objWMIService.ExecQuery _
  66.                ("Select * from CIM_DataFile where Path = '" & strPath & "'" )
  67.    
  68.            For Each objFile in colFiles
  69.            Set objReadOnlyFile = objFSO.GetFile(objFile.Name)
  70.            if DateDiff("d",objReadOnlyFile.DateLastModified ,Date)>15 then
  71.                'Wscript.Echo objFile.Name & chr (10) & objReadOnlyFile.DateLastModified
  72.                objFile.delete
  73.    
  74.              end if
  75.    
  76.            Next
  77.    
  78.            GetSubFolders strFolderName
  79.        Next
  80.    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  [:beckaman007]  
 
Ca n'empêchera pas le truc de fonctionner, mais je trouve que c'est un peu usine à gaz  [:canaille]


Message édité par agkklr le 08-09-2006 à 09:15:51

---------------
"Mon modèle, c'est moi-même."

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Effacer fichier de plus de 15 jours

 

Sujets relatifs
[Resolu]C# Ouvrir un fichier via double click à partir de mon appliLire un fichier distant avec SSH
Ecriture dans un fichier txt à partir d'une Procédure Stockée ?Comparer les dates presentes ds un fichier a la date courante
Upload fichierListage des utilisateurs ayant droit de lire un fichier/répertoire
Upload d'un fichier sur server Tomcat[C# .NET] upload d'un fichier et thread limitant le temps d'upload ...
[C# .NET][HtmlInputFile] sélectionner une extension de fichier[batch] effacer fichier de plus de 30 jours
Plus de sujets relatifs à : Effacer fichier de plus de 15 jours


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR