SPEEDLINKS
: Mini-Archivage de fichiers.
Télécharger cet exemple (le
fichier est à dézipper dans le dossier de SpeedLinks dans "C:\Program
Files\SpeedLinks\")
Objectif
:
Créer une procédure qui automatise l'archivage
de fichiers ou dossiers dans un dossier défini par l'utilisateur.
- L'archivage est
effectué avec un dossier par jour, on utilisera ensuite l'outil de recherche
de Windows ou le service d'indexation de Windows XP.
- Le chemin sélectionné par l'utilisateur est stocké, dans
le dossier de SpeedLinks, dans un fichier au format XML.
Ceci n'est qu'un exemple. Vous pouvez le modifier et surtout l'améliorer : vous pouvez, par exemple, créer une option qui ouvre automatiquement la fenêtre "Rechercher" de Windows sur le dossier d'archivage (fonction BullBasic SHELL_FIND) ou encore Zipper le dossier lors de l'archivage (Plugin SPEEDZIP).
Démonstration
:
Première étape, définition du dossier d'archivage :
Choix du dossier par l'utilisateur :

Seconde étape, l'archivage au quotidien :

Dernière
étape, le résultat :
Le fichier XML généré avec le choix de l'utilisateur :
Résultat de l'archivage, avec le détail du dossier d'archive :

Le
code :
Définition du dossier :
' dossier et nom du fichier XML
Xml_Filename(Application_Path & "Archivage.xml")
' activation de l'XML
Xmlfile.Active=True
' chargement du fichier
Xmlfile.Load()
' récupération de l'ancienne valeur
Dossier_Defaut=Xmlfile.ReadString("\Archivage\Chemin","")
' demande de sélection à l'utilisateur
Dossier_Archivage=Folder_Query("Dossier des archives","Sélectionnez le dossier de votre choix :",Dossier_Defaut)
' si l'utilisateur n'a pas fait annuler
If Dossier_Archivage<>"" then
' mémorisation du nouveau chemin dans le fichier XML
Xmlfile.WriteString("\Archivage\Chemin",Dossier_Archivage)
end if
' fermeture du fichier XML
Xmlfile.Close()
Archivage :
' teste si un dossier ou un fichier au moins sélectionné
If Context_SelCount>0 then' récupération du chemin d'archivage
' dossier et nom du fichier XML
Xml_Filename(Application_Path & "Archivage.xml")
' activation de l'XML
Xmlfile.Active=True
' chargement du fichier
Xmlfile.Load()
' récupération de l'ancienne valeur
Dossier_Archivage=Xmlfile.ReadString("\Archivage\Chemin","")
' fermeture du fichier XML
Xmlfile.Close()
' teste si dossier archivage déjà configuré
If Dossier_Archivage<>"" then
' balayage des objets sélectionnés
For i = 0 to Context_SelCount - 1
'' objet selectionné
Selection=Context_Selected(i)
' teste si c'est un dossier
If Folder_Is(Selection) then
' dossier de destination
Destination=Dossier_Archivage & "\" & String_Now("yyyymmdd") & "\"
' déplace les dossiers
Folders_Move(Selection,Destination)
Else
' dossier de destination
Destination=Dossier_Archivage & "\" & String_Now("yyyymmdd") & "\"
' déplace les fichiers
Files_Move(Selection,Destination)
End if
Next
Else
' le dossier d'archivage n'est pas défini
Message_Show("Le dossier d'archivage n'a pas été défini")
End if
Else
' aucun objet sélectionné
Message_Show("il faut sélectionner un dossier, un fichier ...")
End if
Didier Urban
07/09/2003