Salutations,
Voici donc un petit script, vite écrit et vite posté (mais optimisable, je m'en occupe ^^).
Comme vous pourrez le lire, ce script cherche un support avec un nom particulier (dans notre cas "Iomega HDD"), va récupérer une liste de répertoires déclarés dans un fichier INI sur ce support, puis fait le backup de tout ce petit monde.
► Afficher le texte
Code : Tout sélectionner
; *************************************************************
; * SAUVEGARDE FICHIERS - ECRIT PAR GHOST LINE - 2009 *
; *************************************************************
#Include <Array.au3>
#Include <File.au3>
$repertoire_outlook = @UserProfileDir&"\Local Settings\Application Data\Microsoft\Outlook\"
$repertoire_utilisateur = @MyDocumentsDir
Dim $array_chemin[15]
$z = 0
$i = 0
$nombre_rep = 0
; Récuperation des informations contenues dans le fichier sauvegarde.ini
$fichier_ini = FileOpen(StringLeft(@ScriptDir,2)&"\sauvegarde.ini",0)
While 1
$ligne = FileReadLine($fichier_ini)
If @error = -1 Then ExitLoop
If StringLeft($ligne,3) = "ras" Then
$nombre_rep = $nombre_rep + 1
$chemin = StringRight($ligne,(StringLen($ligne)-4))
$z=$z+1
$array_chemin[$z] = $chemin
EndIf
If StringLeft($ligne,4) = "hdds" Then
$nom_disque = StringRight($ligne,(StringLen($ligne)-5))
EndIf
Wend
FileClose(StringLeft(@ScriptDir,2)&"\sauvegarde.ini")
; Récuperation de la lettre de lecteur du disque de sauvegarde
$nombre_disques = DriveGetDrive( "all" )
For $i = 1 to $nombre_disques[0]
$var = DriveGetLabel($nombre_disques[$i])
If $var = $nom_disque Then
$repertoire_destination = $nombre_disques[$i]
EndIf
Next
; Sauvegarde par défaut de "Mes Documents"
DirCopy ($repertoire_utilisateur,$repertoire_destination&"\Mes Documents\",1)
; Sauvegarde par défaut du repertoire de sauvegarde de Outlook
DirCopy ($repertoire_outlook,$repertoire_destination&"\Backup Outlook\",1)
; Sauvegarde des repertoires contenus dans le fichier sauvegarde.ini
For $i = 1 To $nombre_rep
$chemin = $array_chemin[$i]
DirCopy($chemin,$repertoire_destination&StringTrimLeft($chemin,2),1)
Next
Des améliorations à faire en particulier au niveau de la déclaration de la tables des répertoires (un peu goret comme méthode ^^'), ainsi que, pourquoi pas, la déclaration du nom du support en dur dans le fichier INI (mais est-il possible de connaitre le disque à partir duquel s'exécute le script que l'on lance ?)
Edition : première correction
Et voici le fichier sauvegarde.ini (sans trop de surprises je pense ^^) :
► Afficher le texte
Code : Tout sélectionner
#####################################################################################
# Ce fichier contient une liste de paramètres concernant le programme de sauvegarde #
# N'hésitez pas à le compléter et à le renseigner. Si vous avez un doute quant à #
# son utilisation, contactez votre administrateur. #
# #
# Par défaut, le répertoire "Mes Documents" de l'utilisateur connecté, ainsi que #
# son profil Outlook, sont sauvegardés. #
#####################################################################################
# Nom du disque de sauvegarde #
hdds=Iomega HDD
# repertoires à sauvegarder - dans la limite de 14 repertoires #
ras=c:\temp
ras=c:\recherche
Edit 2 : du coup, je viens de m'apercevoir que DirCopy n'accepte pas les noms de répertoires avec des espaces ... toujours bon à savoir.