Condition If qui fonctionne mais pas Else
Bonjour à tous, j'ai un problème probablement encore tout bête mais je ne trouve pas la solution.
Dans une fonction DeleteFiles() j'ai une boucle For Each qui boucle sur chaques fichiers d'un répertoire. Les fichiers sont supprimés et vient ensuite un test if else qui doit vérifier si les fichiers sont bien supprimés et écrire les résultat dans un fichier texte.
Si le fichier n'a pas été supprimé "if fso.FileExists(fichier)", ça écrit bien "Echec de supression du fichier..." mais par contre le Else (qui devrait écrire "Fichier supprimé avec succès...") n'est semble t'il pas pris en compte donc ça n'écrit rien du tout. Je ne comprend pas pourquoi.
Voici un bout du code:
Code:
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
| Dim FolderName, TEMP, MyFile
Set WshShell = WScript.CreateObject("WScript.Shell" )
Set fso = WScript.CreateObject("Scripting.FileSystemObject" )
Set MyFile = fso.CreateTextFile("rapport.txt" , True)
WINDIR = WshShell.ExpandEnvironmentStrings("%WinDir%" )
DRIVE = WshShell.ExpandEnvironmentStrings("%SystemDrive%" )
TEMP = WshShell.ExpandEnvironmentStrings("%TEMP%" )
FolderName = TEMP
if fso.FolderExists(FolderName) then
DeleteFiles(FolderName)
end if
MyFile.Close
msgbox("Suppression terminée!")
Function DeleteFiles(FolderName)
On Error Resume Next
Dim ObjFolder
Dim ObjFiles
Dim ObjFile
Set ObjFolder = fso.GetFolder(FolderName)
Set ObjFiles = ObjFolder.Files
For Each ObjFile In ObjFiles
set fichier = ObjFile
fichier.Delete
if fso.FileExists(fichier) then
MyFile.WriteLine("[Echec de suppression du fichier]--- " & fichier)
Else
MyFile.WriteLine("[Fichier supprimé avec succès]--- " & fichier)
end if
Next
End Function |