[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 40
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 40
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
Rejoignez-nous