[VBS] PROBLEME Shell.run et commande mysqldump

Résolu
rastamath69
Messages postés
45
Date d'inscription
vendredi 9 avril 2004
Statut
Membre
Dernière intervention
9 novembre 2009
- 13 oct. 2006 à 17:08
steph12358
Messages postés
149
Date d'inscription
jeudi 22 avril 2004
Statut
Membre
Dernière intervention
10 décembre 2009
- 30 mai 2007 à 15:21
Bonjour!!

je suis en train de faire un petit VBS et je voudrais sauvegarder ma BD qui est sous mysql en faisant un dump, mais visiblement la commande ne s'exécute pas...

voici le code:

Dim ObjShell
Set ObjShell= WScript.CreateObject("WScript.Shell")
retour = ObjShell.Run("mysqldump -u root -pMDP test1 > C:\temp\test\nom_backup%date:~0,2%_%date:~3,2%_%date:~6,4%- %time:~0,2%h%time:~3,2%.sql", 1, False)

et la variable retour à la valeur 6 à la fin de l'exécution.

j'ai essayé de mettre le chemin complet jusqu'à l'exécutable mysqldump.exe, avec des cotes et sans les cotes, comme ci dessous:
retour = ObjShell.Run("C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqldump.exe -u root -pMDP test1 >
C:\temp\test\nom_backup%date:~0,2%_%date:~3,2%_%date:~6,4%-
%time:~0,2%h%time:~3,2%.sql", 1, False)

et

retour = ObjShell.Run("'C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqldump.exe' -u root -pMDP test1 >
C:\temp\test\nom_backup%date:~0,2%_%date:~3,2%_%date:~6,4%-
%time:~0,2%h%time:~3,2%.sql", 1, False)

mais dans les deux cas ça m'a fait une erreur...

Voilà, si quelqu'un a un peu de temps et peux jeter un coup d'oeil!!!

Merci d'avance!!

PS: qd je tape ma commande DOS directement dans la console cmd , ça marche.

Rastamath69,plus on travaille , plus on a des problemes, dc plus on a de chances d'en résoudre! [8D]

4 réponses

cs_casy
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
13 oct. 2006 à 17:17
Je dirais à priori que c'est le nom de ton fichier qui n'est pas bon. La commende shell ne doit trop apprecier les %.
Soit tu construit ton nom de fichier avant
soit tu passe par la console :

Shell ("cmd /c mysqldump -u root -pMDP test1 > C:\temp\test\nom_backup%date:~0,2%_%date:~3,2%_%date:~6,4%- %time:~0,2%h%time:~3,2%.sql")

---- Sevyc64  (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #
3
rastamath69
Messages postés
45
Date d'inscription
vendredi 9 avril 2004
Statut
Membre
Dernière intervention
9 novembre 2009
1
13 oct. 2006 à 17:41
ça marche!!! mais uniquement avec le "cmd /c" devant!

cad que même en construisant mon nom avant ben sans le cmd ça marche pas...

comment cela se fait-il??? je croyais que les objets shell pouvait comprendre les commandes qu'on tape dans la console???

merci en tout cas pour ta réponse qui me rend bien service!!

Rastamath69,plus on travaille , plus on a des problemes, dc plus on a de chances d'en résoudre! [8D]
0
cs_casy
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
13 oct. 2006 à 17:50
Non la comande Shell n'est capable seulement de lancer un programme.
Pour comprendre les commandes avec des mots clé de la ocnsole,il n'y a que la console.

Quand j'ai dit de construire le nom du fichier avant, je sais pas si tu as bien compris, mais dans ma tete c'était construire le nom en remplançant les %Date:~0,2% par leur valeur réelle.

Il ne faut pas passer une chaine contenant "C:\temp\test\nom_backup%date:~0,2%_%date......" mais la chaine finale "C:\temp\test\nom_backup13_10_2006-.......".

Si tu as fait ça, ça aurait du marcher.

---- Sevyc64  (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #
0
steph12358
Messages postés
149
Date d'inscription
jeudi 22 avril 2004
Statut
Membre
Dernière intervention
10 décembre 2009
1
30 mai 2007 à 15:21
Merci pour l'info "cmd /c"

Je butais sur le même problème pour un script de création de base sous mysql.
0