Dim objFSO, objFichierLog, objFichierResultat, CheminScriptActuel, CheminFichierdeLog, CheminFichierResultat Dim WSHShell Dim vAPPDATA, vSystemDrive, vSystemRoot, vSESSIONNAME, vCOMPUTERNAME, vProgramFilesx32, vProgramFilesx64 Dim ListeFichiers, ListeEmplacements, UnEmplacement, UnNomDeFichier, TableauEmplacements, TableauListeFichiers, UnCheminDeFichier Const ForReading = 1 Const ForWritting = 2 Const ForAppending = 8 ListeFichiers = "23.cmd;madll.dll;monfichier.tmp;" CheminScriptActuel = Left(wscript.scriptfullname,Len(wscript.scriptfullname)-Len(wscript.scriptname)-1) Set WSHShell = CreateObject("WScript.Shell") vAPPDATA = WSHShell.ExpandEnvironmentStrings("%APPDATA%") vSystemDrive = WSHShell.ExpandEnvironmentStrings("%SystemDrive%") 'Retourne C: en général (sans le \ à la fin) vSystemRoot = WSHShell.ExpandEnvironmentStrings("%systemroot%") vSESSIONNAME = WSHShell.ExpandEnvironmentStrings("%SESSIONNAME%") vCOMPUTERNAME = WSHShell.ExpandEnvironmentStrings("%COMPUTERNAME%") vProgramFilesx32 = WSHShell.ExpandEnvironmentStrings("%programfiles(x86)%") vProgramFilesx64 = WSHShell.ExpandEnvironmentStrings("%programfiles%") If Left(vProgramFilesx32,1) = "%" Then 'Si on est sur un système 32bits, alors le chemin du répertoire Program Files est dans vProgramFilesx64 et non vProgramFilesx32. 'Du coup on recopie l'un dans l'autre et on efface la variable vProgramFilesx64 vProgramFilesx32 = vProgramFilesx64 vProgramFilesx64 = "" End If 'ListeFichiers = Replace(Lcase(ListeFichiers), "%systemroot%", vSystemRoot) ListeEmplacements = vSystemRoot & ";" & vSystemRoot & "\System32;" & vSystemRoot & "\Addins;" & vSystemDrive & "\System Volume Information" Set objFSO = CreateObject("Scripting.FileSystemObject") CheminFichierdeLog = CheminScriptActuel & "\" & wscript.scriptname & "_" & vCOMPUTERNAME & "_Log.txt" CheminFichierResultat = CheminScriptActuel & "\" & wscript.scriptname & "_" & vCOMPUTERNAME & "_Resultat.txt" Wscript.Echo "Fichier de log dans " & CheminFichierdeLog Wscript.Echo "Fichier avec les résultats dans " & CheminFichierResultat Set objFichierLog = objFSO.OpenTextFile(CheminFichierdeLog, ForWritting, True) Set objFichierResultat = objFSO.OpenTextFile(CheminFichierResultat, ForWritting, True) ParseCaracter = ";" TableauEmplacements = Split(ListeEmplacements, ParseCaracter) TableauListeFichiers = Split(ListeFichiers, ParseCaracter) 'Pour chaque emplacement For Each UnEmplacement In TableauEmplacements 'Pour chaque fichier For Each UnNomDeFichier In TableauListeFichiers 'UnCheminDeFichier = Trim(UnCheminDeFichier) UnCheminDeFichier = UnEmplacement & "\" & UnNomDeFichier 'Wscript.Echo "Recherche de " & UnCheminDeFichier objFichierLog.WriteLine("Recherche de " & UnCheminDeFichier) If objFSO.FileExists(UnCheminDeFichier) Then objFichierResultat.WriteLine(UnCheminDeFichier) 'Set objFichier = objFSO.GetFile("C:\Lefichier.txt") 'Set objFichier = Nothing Else 'Wscript.Echo "Fichier non present" End If Next Next objFichierLog.Close 'Fermeture du fichier objFichierResultat.Close 'Fermeture du fichier Set objFichierLog = Nothing Set objFichierResultat = Nothing Set objFSO = Nothing Set WSHShell = Nothing Wscript.Echo "Terminé"