Cet utilitaire permet réaliser des opérations de façon récursive sur tous les fichiers d'une arborescence. Je l'utilise par exemple pour modifier des images "en bloc" avec ImageMagick.
Source / Exemple :
function doThings (byref folder, cmdToDo)
dim f, subF, cmdLine, baseFileName, extension
for each f in folder.Files
cmdLine=cmdToDo
baseFileName=f.parentFolder & "\" & fso.GetBaseName(f)
extension=fso.GetExtensionName(f)
cmdLine=replace(cmdLine,"#FILE#",baseFileName)
cmdLine=replace(cmdLine,"#EXT#",extension)
wsh.run cmdLine,,true
next
for each subF in folder.SubFolders
doThings subF, cmdToDo
next
end function
'****************************************************
sub main()
dim startDir, fold, cmdToDo
dim HELP, RC, folder
RC=chr(13) & chr(10)
HELP = ""
HELP = HELP & "Par exemple, la commande suivante..." & RC & RC
HELP = HELP & " convert -geometry 50% -quality 70 #FILE#.#EXT# #FILE#.jpg" & RC & RC
HELP = HELP & "...convertit tous les fichiers rencontrés en .jpg avec une qualité de 70% "
HELP = HELP & "et en réduisant la taille de 50%" & RC & RC
HELP = HELP & "(Pour chaque fichier rencontré, recursit.vbs applique la commande en remplacant "
HELP = HELP & "#FILE# et #EXT# respectivement par le nom du fichier en cours et son extension.)"
startDir=inputbox("Répertoire de départ:")
'startDir="c:\_datas\barchetta\Photos1"
if startDir="" then exit sub
cmdToDo=inputbox("Que faire avec les fichiers ? (tapez ? pour avoir de l'aide)")
'cmdToDo="mogrify -quality 70 -geometry 50% #FILE#.#EXT#"
while ucase(cmdToDo)="?" and cmdToDo<>""
msgbox HELP
cmdToDo=inputbox("Que faire avec les fichiers ? (tapez ? pour avoir de l'aide)")
wend
if cmdToDo="" then exit sub
set folder=fso.GetFolder(startDir)
doThings folder, cmdToDo
end sub
'****************************************************
dim fso, wsh
set fso=CreateObject("Scripting.FileSystemObject")
Set wsh = WScript.CreateObject ("WSCript.shell")
main
Conclusion :
Pour utiliser cet utilitaire, enregistrez ce code dans un fichier ".vbs". Ensuite, il suffit de cliquez deux fois dessus.
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.