bonjour j'aimerais savoir comment marche une sauvegarde par batch dos, par exemple j'ai ma sauvegarde qui est un .bat, si mon fichier initial a un problème, comment marche un .bat??
ps: soyez indulgent je suis pas très douée en informatique![]()
bonjour j'aimerais savoir comment marche une sauvegarde par batch dos, par exemple j'ai ma sauvegarde qui est un .bat, si mon fichier initial a un problème, comment marche un .bat??
ps: soyez indulgent je suis pas très douée en informatique![]()
Bonjour,
Ta sauvegarde n'est pas un bat.
Un bat est un fichier de commande qui exécute des actions simples.
En général, on lance un batch pour copier, supprimer, déplacer des fichiers ou exécuter d'autres programmes, entre autres...
Que veux-tu faire toi ?
Argy
je veux qu'en clickant sur un bouton une sauvegarde de ma base de donnée soit faite
j'ai donc suivi ckil y a sur le lien
http://access.developpez.com/sources...iers#Copybddos
en pensant que ct bon, c pa le cas?
Mouais,
Pas génial ce code source !!! En plus il est sans commentaires et contient des erreurs...
Disons que c'est un code source qui écrit dynamiquement le fichier Batch
Voilà le code (corrigé):
++
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 Sub SauvegarderBase() Dim strDestination As String Dim strNomDeLaBase As String Dim oFSO As Object Dim oFSText As Object strDestination = "C:\Sauvegarde\" strNomDeLaBase = CurrentProject.Name Set oFSO = CreateObject("Scripting.FileSystemObject") Set oFSText = oFSO.OpenTextFile("c:\CopyDB.bat", 2, True) oFSText.writeline "@Echo off" oFSText.writeline "Copy " & Chr(34) & CurrentDb.Name & Chr(34) & " " & Chr(34) & strDestination & strNomDeLaBase & Chr(34) oFSText.Close Set oFSO = Nothing Set oFSText = Nothing Shell "c:\CopyDB.bat" End Sub
Argy
oki je te conseille plus la commande xcopy qui a bp plus d'options.
un petit help xcopy dans une invite de commande MS-DOS te parlera plus.
Sinon je ne comprends pas l'utilité de passer pas un code VBA pour créer le fichier .bat ??? Autant le créer directement à la main
papy_tergnier a raison, sauf si la base est amenée à être dans des chemins différents, ce qui me semble être peu probable.
Donc écrit ton batch à la mano avec NotePad et c'est tout...
P.S. Adapte et lance le petit code que j'ai posté avant pour obtenir la syntaxe du batch.
Argy
en fait je n'ai pas très bien saisi un .bat en fait.
moi j'ai crée une base de donnée et je veux que l'utilisateur puisse avoir une sauvegarde quelque part au cas ou il y a un gros plantage.
j'ai trouvé ce lien sur internet, mais je ne saisi pas trop comment cette sauvegarde marche.
faire un .bat sert a quoi?
est-il mieu de faire une simple copie sur l'evenement de mon bouton?
merci d'avance
comme te l'as dit aegyronet, un .bat est un fichier exécutable qui te permet d'exécuter des commandes comme la création de répertoires, la copie de fichiers (ce qui t'intéresse), ...
je v te donner un exemple qu'il faudra que tu adaptes pour que ça corresponde à ton problème :
Cela sauvegarde tous les bases de données commencant par base se trouvant dans tes répertoires c:\2001 2002\ et c:\2002 2003\ dans un répertoire nommé sauvegarde
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 @echo Mise a jour de la base de donnees en cours...Merci de bien vouloir patienter... @echo OFF xcopy /I/Y/Q "C:\2001 2002\base*.mdb" "C:\Sauvegarde" xcopy /I/Y/Q "C:\2002 2003\base*.mdb" "C:\Sauvegarde"
bon courage
PS : pour les options je te conseille de faire un help xcopy dans une fenetre MS-DOS
ok merci beaucoup, je commence effectivement à saisir comment ca fonctionne.
est-ce que ce code s'integre dans du vb ou pa? comment le lancer?
Comment lancer un batch à heure fixe (la nuit, le matin très tôt quand tout le monde dort...)
Utiliser le programme de tâches plannifiés, comme cela pas de developpement à faire, pas de risques d'oubli... pas de surcharge de réseau aux heures de pointe.
Un fois le batch fait il n'y a plus qu'a créer la tache...
Cordialement.
C'est plutot un post pour le forum Windows de http://www.developpez.com![]()
j'ai lancé le script suivant comme on me l'a montré
quand je le lance je n'ai rien du tout
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 @echo Mise a jour de la base de donnees en cours...Merci de bien vouloir patienter... @echo OFF xcopy /I/Y/Q "O:\Transit\feriel\Bd-Essais\BDEssais-Access 2000\Essais*.mdb" "O:\Transit\feriel\Bd-Essais\Sauvegardes"
dites moi, si je faisai du vb avec un Copié coller de ma base??
alors est ce que ton répertoire O:\Transit\feriel\Bd-Essais\Sauvegardes existe déjà ?
Si oui vérifies que tu as les droits
ui ui il existe bien ,j'ai mis les droits "controle total sur mes deux dossiers"![]()
Les options sont normalement après la source/destination.
toujours rien qui se passe c etrange, vous n'etes donc pas pour un copier coller apparemment!
Code : Sélectionner tout - Visualiser dans une fenêtre à part xcopy "O:\Transit\feriel\Bd-Essais\BDEssais-Access 2000\Essais*.mdb" "O:\Transit\feriel\Bd-Essais\Sauvegardes" /I/Y/Q
merci pour l'info pour les arguments même si ça fonctionne chez moi en les mettant avant.
le xcopy correspond à un copier-coller![]()
Si tu exécutes ta ligne de commande dans une fenetre MS-DOS il te sort une erreur ?
par contre j'ai bien l'impression kil y a un souci de droit, quand je fgait en vb
FileCopy avec les memes sources et dest que pour le bat j'ai permission refusé comme message.
mais je ne comprends pas je suis logé sous windows 2000, je suis propriétaire de la base, je m'embrouille entre moi meme, l'administrateur de la ase ou de la session, je ne comprends plus la
quand je lance la fenetre ms dos s'affiche 2 secondes et repart, aucun message
Super étrange ton affaire.
As-tu essayé avec des chemins locaux ?
Quand tu fais un
il répond ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part DIR O:\Transit\feriel\Bd-Essais\Sauvegardes
... je sèche
je t'avoue que je ne comprends rien du tout!
j'ai fait DIR.. et il le trouve bien pas de pb!
quand je tente le code en local sur mon C, ca me met permission refusée![]()
![]()
Du coup bah impossible pour moi de sauvegarder si je comprends bien!
alors je sais pourquoi le filecopy ne marchais pas erreur bete parce que le code faisai partie de la bd a copier, or vu que c'est ouvert il ne peut pas la copier d'ou l'erreur!!
il faut donc absolument que je le fasse en tache planifié et en bash mais ca ne veut pas marcher,je n'ai aucun message d'erreur mais rien n'est fait
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager