Pb avec script VBS existant (suppression fichier et dossier)

match78 Messages postés 2 Date d'inscription samedi 10 juin 2006 Statut Membre Dernière intervention 4 février 2010 - 4 févr. 2010 à 14:49
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 - 5 févr. 2010 à 17:07
Bonjour à tous,

Je débute dans le domaine du vbscipt, mon problème est le suivant :

Lorsque j'exécute le script vbs ci-dessous, un popup apparait faisant le récapitulatif des fichiers supprimés cependant lorsque je vais voir le dossier en question rien a été supprimé... Quelqu'un pourrait-il m'éclairer? Est il possible d'envoyer le résultat obtenu dans un fichier?

Merci d'avance.

Le script vbs :


Dim cpt_files, cpt_folders, strList
MsgBox FnListeDossier("c:\test", 15, strList),,"Result"

Function FnListeDossier(argPath, argDays, strList)
Dim objFso, objSubFolderItem, objSubFileItem
Set objFso = CreateObject("Scripting.FileSystemObject")

For Each objSubFolderItem In objFso.GetFolder(argPath).SubFolders
FnListeDossier objSubFolderItem.Path, argDays, strList
If objFso.GetFolder(objSubFolderItem).Size = 0 Then
strList = strList & vbCrLf & objSubFolderItem.DateLastModified & Space(3) & _
"Delete Folder: " & Space(1) & objSubFolderItem.Path
'Supprimer le repertoire
''''''''''objFso.DeleteFolder objSubFolderItem.Path, True
cpt_folders=cpt_folders+1
End if
Next

For Each objSubFileItem In objFso.GetFolder(argPath).Files
If DateDiff("d", FormatDateTime(objSubFileItem.DateLastModified, 2),Date) >= argDays Then
strList = strList & vbCrLf & objSubFileItem.DateLastModified & Space(3) & _
"Delete File: " & Space(6) & objSubFileItem.Path
'Supprimer le fichier
''''''''''objFso.DeleteFile objSubFileItem.Path
cpt_files=cpt_files
End If
Next
FnListeDossier = "Folders deleted:" & vbTab & cpt_folders & vbCrLf & _
"Files deleted:" & vbTab & cpt_files & vbCrLf & _
strList
Set objFso = Nothing
End Function

4 réponses

alienware62 Messages postés 20 Date d'inscription vendredi 10 octobre 2008 Statut Membre Dernière intervention 23 mai 2010
4 févr. 2010 à 16:09
Pour supprimer un ficher tu peux utiliser le
File.Delete("C:\fichier")
0
match78 Messages postés 2 Date d'inscription samedi 10 juin 2006 Statut Membre Dernière intervention 4 février 2010
4 févr. 2010 à 17:19
Merci pour la commande, peux-tu me dire comment l'intégrer?

Par contre sur un autre forum les personnes ayant testés ce script disent qu'il fonctionne parfaitement donc il n'y a pas forcement de modif à faire... Quelqu'un peut-il le tester et me dire ce qu'il en pense.

Merci!
0
alienware62 Messages postés 20 Date d'inscription vendredi 10 octobre 2008 Statut Membre Dernière intervention 23 mai 2010
4 févr. 2010 à 17:29
il faut rajouter
Imports System.IO

au dessus de Public Class pour que la commande File.Delete("lien") fonctionne
si non pour le script je n'y comprends pas grand chose lol
Bon courage
0
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
5 févr. 2010 à 17:07
 Bonjour,

Tu peux t'inspirer de ce script.
[size=50]http://www.vbfrance.com/forum/sujet-PETIT-SCRIPT-POUR-EFFACER-FICHIERS-ANTERIEUR-DATE_900400.aspx
/size

et remplacer
         'Supprimer le repertoire
''''''''''objFso.DeleteFolder objSubFolderItem.Path, True

         'Supprimer le fichier
''''''''''objFso.DeleteFile objSubFileItem.Path 

par
   'Supprimer le repertoire
    objFso.DeleteFolder objSubFolderItem.Path, True 
        
    'Supprimer le fichier
    objFso.DeleteFile objSubFileItem.Path 




Rem, instructionCaractéristiques requises

Inclut des remarques explicatives dans un programme.

Rem comment
-ou-

' comment

Instruction très utile en mode debug.


Attention au thème
Accueil > Forum > Visual Basic 6 > Langages dérivés > VBScript

jean-marc
0
Rejoignez-nous