Bonjour, j’ai mis au point avec des portions de code, prises à droite à gauche un script de backup qui copie toutes les données d’un dossier source, vers un dossier de destination avec une vérification sur la taille des fichiers (vérif date possible, si ça vous intéresse). Hors la ou le script pêche c’est que si je supprime un fichier dans la source, celui-ci n’est pas supprimé dans la destination, chose que je cherche à obtenir. Je pense qu’il faudrait une fonction delete qui passe en paramètre tous les fichiers de la destination, et s’il n’existe pas dans la source, les supprimes. (fonctions qui doit s’exécuter après celle de recopie de la source vers la destination bien sûr. S’il y a des petits codeurs parmi vous, un coup de pouce serait le bien venu.
Merci
option explicit
Dim fso,srs,srd,f1,f2,sr1,sr2,debut,WshNetwork,oSh,oWMI,colProcessList,objProcess
'set the host folder
'*********************
Set fso = CreateObject("Scripting.FileSystemObject")
Set srs = fso.GetFolder("c:\a")
'create mirror folder if not exist (with computername attribute)
'********************************************************************
Set WshNetwork = WScript.CreateObject("WScript.Network")
if not fso.FolderExists("c:\b") then
fso.CreateFolder("c:\b")
end if
'set mirror forlder (with computername attribute)
'*****************************************************
Set srd = fso.GetFolder("c:\b")
debut = Now
call recopie(srs,srd)
Wscript.Quit
sub recopie (r1,r2)
'if needed,copy source to destination, else verify if file size is different
for each f1 in r1.files
if not fso.FileExists(r2.path & "\" & f1.name) then
'wscript.echo "A " & r2.path & "\" & f1.name
f1.Copy(r2.path & "\" & f1.name)
else
set f2 = fso.getfile(r2.path & "\" & f1.name)
if f1.Size <> f2.Size then
'wscript.echo "M " & r2.path & "\" & f1.name
f1.Copy(r2.path & "\" & f1.name)
end if
end if
next
'copy sub-folders, else do recursive call
for each sr1 in r1.subfolders
if not fso.FolderExists(r2.path & "\" & sr1.name) then
fso.CreateFolder r2.path & "\" & sr1.name
'Wscript.echo "D " & r2.path & "\" & sr1.name
sr1.copy(r2.path & "\" & sr1.name)
else
call recopie (sr1,fso.getfolder(r2.path & "\" & sr1.name))
end if
next
end sub