Script pour copier, effacer fichiers dans un dossier avec date VBS
Dernière réponse : dans Programmation
Bonjour
J'ai 2 fichiers Access format .mdb qui sont modifies au quotidien par un logiciel d'analyse d'images.
A chaque image ajoutee, une entree est cree dans ces fichiers .mdb
Donc j'aimerais avoir un systeme pour sauver ces fichiers pour avoir un cordon de securite en cas de corruption des .mdb.
Pour ca, j'ai cherche a aire un petit script que je pourrais ensuite lancer avec le planificateur de taches de Windows.
Je suis parti d'un fichier VBS deja fait que voici:
Le probleme: la date est ajoutee au fichier .mdb et le dossier n'est pas modifie donc si je le lance 2 jours de suite, il y aura une erreur puisqu'il ne peut re-creer le dossier "Save".
Donc, comment puis je modifier le nom du fichier de destination pour inclure la date?
J'ai modifie mon code toute la soiree et j'arrive pas avoir un truc qui marche.
Aussi, j'aimerais ajouter une fonction de suppression automatique des anciennes sauvegardes ?
J'ai les fonctions necessaires expliquee ici mais je vois pas trop comment mettre ca en place.
Est ce que je peux faire creer un registre par le script avec la liste des dossiers present dans le dossier parent, registre qui servirait comme base pour la suppression des dossiers les plus anciens ?
Merci
J'ai 2 fichiers Access format .mdb qui sont modifies au quotidien par un logiciel d'analyse d'images.
A chaque image ajoutee, une entree est cree dans ces fichiers .mdb
Donc j'aimerais avoir un systeme pour sauver ces fichiers pour avoir un cordon de securite en cas de corruption des .mdb.
Pour ca, j'ai cherche a aire un petit script que je pourrais ensuite lancer avec le planificateur de taches de Windows.
Je suis parti d'un fichier VBS deja fait que voici:
Dim FichierSource, FichierSource2, FichierDest, DateFichier, objFSO, fso, f, objFSO2
'Variables du fichier a copier et du dossier de destination
FichierSource = "D:\ASI_DataBase\CDMCytogeneticsProject2000.mdb"
DateFichier = FormatDate(Date(), "-" )
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.CreateFolder("c:\Save")
Set objFSO = CreateObject("Scripting.FileSystemObject" )
Set objFSO2 = CreateObject("Scripting.FileSystemObject" )
CreateFolderDemo = f.Path & "\"
objFSO.Copyfile FichierSource, CreateFolderDemo & DateFichier & " - CDMCytogeneticsProject2000" & ".mdb"
objFSO2.Copyfile FichierSource, CreateFolderDemo & DateFichier & " - DBCytogeneticsProjectClient2000Protected" & ".mdb"
Function FormatDate(ValDate, Caractere)
Dim MoisDate, JourDate
ValDate = CDate(ValDate)
Caractere = CStr(Caractere)
MoisDate = Month(ValDate)
JourDate = Day(ValDate)
FormatDate = CStr(Year(ValDate)) & Caractere
If MoisDate < 10 Then
FormatDate = FormatDate & "0"
End If
FormatDate = FormatDate & CStr(MoisDate) & Caractere
If JourDate < 10 Then
FormatDate = FormatDate & "0"
End If
FormatDate = FormatDate & CStr(JourDate)
End Function
Le probleme: la date est ajoutee au fichier .mdb et le dossier n'est pas modifie donc si je le lance 2 jours de suite, il y aura une erreur puisqu'il ne peut re-creer le dossier "Save".
Donc, comment puis je modifier le nom du fichier de destination pour inclure la date?
J'ai modifie mon code toute la soiree et j'arrive pas avoir un truc qui marche.
Aussi, j'aimerais ajouter une fonction de suppression automatique des anciennes sauvegardes ?
J'ai les fonctions necessaires expliquee ici mais je vois pas trop comment mettre ca en place.
Est ce que je peux faire creer un registre par le script avec la liste des dossiers present dans le dossier parent, registre qui servirait comme base pour la suppression des dossiers les plus anciens ?
Merci
Autres pages sur : script copier effacer fichiers dossier date vbs
Lassé par la pub ? Créez un compte
Bon j'ai reussi la premiere partie pour avoir un dossier date:
Donc maintenant, j'ai un script fonctionnel pour mon copier/coller automatique avec la creation quotidienne d'un dossier avec l'intitule contenant la date sous la forme:
"Sauvegarde du 2010-12-04"
Maintenant comment faire pour avoir une "purge" automatique?
Des suggestions?
Dim FichierSource, FichierSource2, FichierDest, DateFichier, objFSO, fso, f, objFSO2, FileName
'Variables du fichier a copier et du dossier de destination
FichierSource = "D:\ASI_DataBase\Fichier1.mdb"
FichierSource2 = "D:\ASI_DataBase\Fichier2.mdb"
DateFichier = FormatDate(Date(), "-" )
FileName = "C:\Sauvegarde du " & DateFichier & "\"
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.CreateFolder(FileName)
Set objFSO = CreateObject("Scripting.FileSystemObject" )
Set objFSO2 = CreateObject("Scripting.FileSystemObject" )
CreateFolderDemo = FileName
objFSO.Copyfile FichierSource, CreateFolderDemo & "fichier1" & ".mdb"
objFSO2.Copyfile FichierSource2, CreateFolderDemo & "fichier2" & ".mdb"
Function FormatDate(ValDate, Caractere)
Dim MoisDate, JourDate
ValDate = CDate(ValDate)
Caractere = CStr(Caractere)
MoisDate = Month(ValDate)
JourDate = Day(ValDate)
FormatDate = CStr(Year(ValDate)) & Caractere
If MoisDate < 10 Then
FormatDate = FormatDate & "0"
End If
FormatDate = FormatDate & CStr(MoisDate) & Caractere
If JourDate < 10 Then
FormatDate = FormatDate & "0"
End If
FormatDate = FormatDate & CStr(JourDate)
End Function
Donc maintenant, j'ai un script fonctionnel pour mon copier/coller automatique avec la creation quotidienne d'un dossier avec l'intitule contenant la date sous la forme:
"Sauvegarde du 2010-12-04"
Maintenant comment faire pour avoir une "purge" automatique?
Des suggestions?
http://www.mediafire.com/?dblrfxc861ni127
Quand tu lances l'application, tu peux configurer le bouzin, et quand tu la lance avec le paramètre "-backup", la sauvegarde est effectuée. Tu peux aussi modifier les options dans le fichier XML à la main.
Quand tu lances l'application, tu peux configurer le bouzin, et quand tu la lance avec le paramètre "-backup", la sauvegarde est effectuée. Tu peux aussi modifier les options dans le fichier XML à la main.
Bon il est bien mais il est nul aussi: on peut pas changer le fichier de destination via le logiciel.
Moi je veux qu'il copie de D:\ASI Database vers D:\Dossier de sauvegarde par exemple et quand je fais le changement, si j'eteind et rallume le logiciel, ben ca le garde paps en memoire
Et un truc: il sauvegarde automatiquement ou je dois cliquer sur le bouton pour que la sauvegarde se fasse ?
Moi je veux qu'il copie de D:\ASI Database vers D:\Dossier de sauvegarde par exemple et quand je fais le changement, si j'eteind et rallume le logiciel, ben ca le garde paps en memoire
Et un truc: il sauvegarde automatiquement ou je dois cliquer sur le bouton pour que la sauvegarde se fasse ?
Je m'occupe de mettre un autre dossier de sauvegarde.
Pour les options, permet d'éviter la suppression de toutes les sauvegardes, genre si la purge est à 30 jours, et que tu lances pas le truc pendant plus de 30 jours... bah dès que tu le relance, ça purge toutes les sauvegardes précédentes. La marge, c'est le nombre qu'il conservera toujours, même si ils sont expirés.
Ce qui veut dire que même 30 jours plus tard, si toutes les sauvegardes sont expirées, il te gardera quand même les 5 dernières. Malin
Sinon le timeout, c'est au cas où ça plante, ce qui ne devrait jamais arriver. C'est la limite absolue du temps que l'application sera lancée en fait, et si ça répond pas au bout de 20 secondes, ça considère que c'est planté. Touche pas, fais comme si c'était pas là. Au mieux, augmente le si tu vois qu'il a du mal, le seul truc qui pourrait l'empêcher, c'est que tes fichiers à copier soient super gros, et donc qu'il prenne beaucoup de temps à les copier. Enfin à toi de voir si les fichiers sont gros, mais normalement y'a pas à toucher.
Sinon pour changer les options dans le logiciel, faut appuyer sur "Accepter"
He dit, ca t'interresserait pas plutot de m'expliquer comment ajouter une fonction purge a mon script de merde ?
Au moins je saurais ce que ca fait parce que la, il est beau ton truc, je dit pas, mais est ce que je peux le lancer avec le planificateur de tache Windows pour faire un sauvegarde 100% automatique ?
Parce que si il y a un bouton "faire la sauvegarde maintenant", ca fait pas tres .... automatique
Et puis si 'eteind le programme apres avoir change le chemin de destination et clique sur "accepter", ben ca me remet le chemin initial, en gro sje dois modifier en dur donc est ce que si je modifie le sautres valeurs, je dois le faire en dur?
Il sert a quoi alors le bouton "accepter" ?
Au moins je saurais ce que ca fait parce que la, il est beau ton truc, je dit pas, mais est ce que je peux le lancer avec le planificateur de tache Windows pour faire un sauvegarde 100% automatique ?
Parce que si il y a un bouton "faire la sauvegarde maintenant", ca fait pas tres .... automatique
Et puis si 'eteind le programme apres avoir change le chemin de destination et clique sur "accepter", ben ca me remet le chemin initial, en gro sje dois modifier en dur donc est ce que si je modifie le sautres valeurs, je dois le faire en dur?
Il sert a quoi alors le bouton "accepter" ?
Le timeout mets le à un truc genre 600, ça fait 10 minutes. De toute façon ça prendra moins que ça, et y'a peu de raisons que ça plante d'une telle façon.
Et en effet j'avais carrément oublié la sauvegarde des options de façon durable. Ça les mémorisait tant que l'appli restait lancée, mais après ça sautait.
Déjà la V3
http://www.mediafire.com/?2d9dhz59r7vv23l
Et pour le backup auto, faut le lancer avec le paramètre "-backup", donc dans le planificateur tu rajoute ça à la fin, et là ça sera 100% automatique, et t'auras pas l'interface que tu vois quand tu le lance à la main. Fais un raccourci rapidement pour le lancer, et tu verras. Et j'ai testé ça à mort pour être sûr que ça plante pas, et je suis d'ailleurs heureux d'apprendre que même si tout ne marchait pas vraiment, ça plantait pas
Donc franchement je ferais assez confiance à mon truc.
Maintenant pour la purge, ça récupère la date dans le nom du dossier, ça la reconvertit en date, ça compare à aujourd'hui, ça les classe par ancienneté... C'est pas de la petite prog quoi, et même si ça a pas l'air compliqué, c'est mine de rien ce qu'on passe 99% du temps à faire en programmation : trier des conneries de ce genre
Donc ton script va exploser si j'y rajoute tout ça en fait. Surtout que moi je vérifie si les dossiers et fichiers existent et bien et tout le tintouin, ton truc plante au moindre truc sans donner d'explication. Donc je me doute que tu dois trouver ça "énorme" pour faire un backup
, mais crois moi que j'ai fait le minimum possible pour rester simple et fiable, sans faire un truc trop lourd.
Et en effet j'avais carrément oublié la sauvegarde des options de façon durable. Ça les mémorisait tant que l'appli restait lancée, mais après ça sautait.
Déjà la V3
http://www.mediafire.com/?2d9dhz59r7vv23l
Et pour le backup auto, faut le lancer avec le paramètre "-backup", donc dans le planificateur tu rajoute ça à la fin, et là ça sera 100% automatique, et t'auras pas l'interface que tu vois quand tu le lance à la main. Fais un raccourci rapidement pour le lancer, et tu verras. Et j'ai testé ça à mort pour être sûr que ça plante pas, et je suis d'ailleurs heureux d'apprendre que même si tout ne marchait pas vraiment, ça plantait pas
Donc franchement je ferais assez confiance à mon truc.
Maintenant pour la purge, ça récupère la date dans le nom du dossier, ça la reconvertit en date, ça compare à aujourd'hui, ça les classe par ancienneté... C'est pas de la petite prog quoi, et même si ça a pas l'air compliqué, c'est mine de rien ce qu'on passe 99% du temps à faire en programmation : trier des conneries de ce genre
Donc ton script va exploser si j'y rajoute tout ça en fait. Surtout que moi je vérifie si les dossiers et fichiers existent et bien et tout le tintouin, ton truc plante au moindre truc sans donner d'explication. Donc je me doute que tu dois trouver ça "énorme" pour faire un backup
, mais crois moi que j'ai fait le minimum possible pour rester simple et fiable, sans faire un truc trop lourd. Citation :
Et pour le backup auto, faut le lancer avec le paramètre "-backup", donc dans le planificateur tu rajoute ça à la fin, et là ça sera 100% automatique, et t'auras pas l'interface que tu vois quand tu le lance à la main. Fais un raccourci rapidement pour le lancer, et tu verras. Et j'ai testé ça à mort pour être sûr que ça plante pas, et je suis d'ailleurs heureux d'apprendre que même si tout ne marchait pas vraiment, ça plantait pas Donc franchement je ferais assez confiance à mon truc.
Heu, tu peux decrire un peu la procedure la?
Parce que je lance l'outil de creation de tache planifiee mais je sais pas quoi selectionner dans le lot, l'executif?
Lassé par la pub ? Créez un compte
- Contenus similaires :
Tags :
- ForumEffacer fichiers du dossier temp dangereux
- ForumScript vbs copier et creer un dossier
- solutionsScript perl ftp suppression fichiers par date
- ForumScript vbs date dimanche
- ForumRecherche dernier fichier dossier date heure php
- ForumScript effacer fichiers
- ForumPhp comment effacer fichiers d'un dossier
- ForumScript shell copier tous les fichiers
- ForumComparer date creation fichier script
- ForumScript bash afficher fichier triet par date
- Voir plus
![[:falzar] [:falzar]](http://m.bestofmedia.com/sfp/design/usr/fr/smilies/f5/8c/falzar.gif)