Le VbScript ci-dessous écrit dans un fichier .bat une commande spécifique à chaque sous-répertoire qui sera demandé dans une fenêtre de saisie
Option Explicit
Dim CheminScriptActuel, ScriptFileName, Position
Dim CheminRepertoireAExplorer
Dim objFSO, objFolder, objTextFile, MonFolder, CheminFichier
Dim UneCommande
'Déclaration des constantes pour la lecture et l'ecriture dans les fichiers
Const ForReading = 1
Const ForWritting = 2
Const ForAppending = 8
CheminScriptActuel = Left(wscript.scriptfullname,Len(wscript.scriptfullname)-Len(wscript.scriptname)-1)
ScriptFileName = wscript.scriptname
Position = InstrRev(ScriptFileName,".")
if (Position > 0) Then ScriptFileName = Left(ScriptFileName, Position - 1)
CheminFichier = CheminScriptActuel & "\" & ScriptFileName & "_Resultat.bat"
CheminRepertoireAExplorer = InputBox("Entrez le chemin du répertoire","Chemin du répertoire",CheminScriptActuel)
'Création des objets
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile(CheminFichier, ForWritting, True)
'On fait un objet qui représente le répertoire à explorer
Set objFolder = objFSO.GetFolder(CheminRepertoireAExplorer)
For Each MonFolder In objFolder.SubFolders
'Wscript.echo MonFolder.Name
'Wscript.echo MonFolder.Path
'Exemple de commande. Modifiez 'UneCommande' cette ligne avec le résultat désiré :
UneCommande = "echo """ & MonFolder.Path & """"
objTextFile.WriteLine(UneCommande) 'Ecriture de la commande dans le fichier BAT
Next
objTextFile.Close 'Fermeture du fichier
Set objTextFile = Nothing
Set objFolder = Nothing
Set objFSO = Nothing
Wscript.Echo "Fichier bat généré : " & CheminFichier
Lien vers le fichier : cliquez ici
Ci dessous nous avons un exemple d'adaptation à incorporer qui permet, par profil présent dans C:\Documents and Settings,d'effacer les fichiers temporaires d'outlook plus anciens de 3 jours
CheminRepertoireAExplorer = InputBox("Entrez le chemin du répertoire","Chemin du répertoire","C:\Documents and Settings")
For Each MonFolder In objFolder.SubFolders
UneCommande = "forfiles /p """ & MonFolder.Path & "\Local Settings\Temporary Internet Files\OLK1" & """ /s /m *.* /d -3 /c ""cmd /C del /Q /F @FILE"""
objTextFile.WriteLine(UneCommande) 'Ecriture de la commande dans le fichier BAT
Next
Lien vers le fichier : cliquez ici
Article(s) en relation(s)