Pb avec script VBS existant (suppression fichier et dossier)

Signaler
Messages postés
2
Date d'inscription
samedi 10 juin 2006
Statut
Membre
Dernière intervention
4 février 2010
-
Messages postés
1854
Date d'inscription
jeudi 23 mai 2002
Statut
Membre
Dernière intervention
24 juin 2018
-
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

Messages postés
20
Date d'inscription
vendredi 10 octobre 2008
Statut
Membre
Dernière intervention
23 mai 2010

Pour supprimer un ficher tu peux utiliser le
File.Delete("C:\fichier")
Messages postés
2
Date d'inscription
samedi 10 juin 2006
Statut
Membre
Dernière intervention
4 février 2010

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!
Messages postés
20
Date d'inscription
vendredi 10 octobre 2008
Statut
Membre
Dernière intervention
23 mai 2010

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
Messages postés
1854
Date d'inscription
jeudi 23 mai 2002
Statut
Membre
Dernière intervention
24 juin 2018
26
 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