SHELL et caractère vide

Bedos72 Messages postés 6 Date d'inscription mardi 15 novembre 2005 Statut Membre Dernière intervention 17 mai 2006 - 17 mai 2006 à 14:31
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 - 17 mai 2006 à 21:30
Bonjour,

Je réalise un backup d'une base de données MySQL via MySQLdump. Je crée un fichier .bat avec "c:\mysqldump ..." et çà marche.
J'execute le fichier .bat via SHELL (eg SHELL backup.bat)

Par contre si j'ai "c:\Program files\mysqldump ..." çà ne marche pas car il y a je pense un problème de reconnaissance du caractère vide entre Program et files.

Comment faire pour éviter ce problème ?

Merci pour votre aide !

Fred

5 réponses

BasicInstinct Messages postés 1470 Date d'inscription mardi 5 février 2002 Statut Membre Dernière intervention 20 octobre 2014 12
17 mai 2006 à 14:40
salut,

verifie ton chemin, je pense que ca vient plutot de la.

je viens de tester :
Shell "C:\Program Files\Mon Dossier\MonExe.exe"

Ca marche sans probleme.

Sinon utilise les noms courts : progra~1

++

BasicInstinct
0
Bedos72 Messages postés 6 Date d'inscription mardi 15 novembre 2005 Statut Membre Dernière intervention 17 mai 2006
17 mai 2006 à 15:17
Merci beaucoup. J'ai utilisé progra~1 et çà marche en effet.

Une autre question : je voudrais récupérer la date dans ma base de données et mettre cette date dans le nom de mon fichier backup.
Je fais donc un

recordset.open "select now() as date"
date_actuelle=recordset!date

nom_fichier="backup" & date_actuelle & ".sql"

et pof problème ... la date sort sous la forme YYY-MM-DD HH:MM:SS

Les HH:MM:SS viennent m'empoisonner l'existence. Comment les éliminer ?
0
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
17 mai 2006 à 17:22
Pourquoi faire un "SELECT" via SQL pour avoir la date du jour à partir d'un code VB ?
Un simple appel à la fonction Now() suffira ...

Dim Date_Actuelle As String
Date_Actuelle = Format(Now(),"yyyymmdd")

... et en plus tu peux gérer le format obtenu ave cun Format() comme je l'ai fait .

CR
0
Flachy Joe Messages postés 2103 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 21 novembre 2023 1
17 mai 2006 à 18:14
Salut,
Le Progra~1 ne fonctionnera pas sur tous les ordi : si il y a par exemple un dossier nommé prograA, il passera avant "program files" donc c'est lui qui portera le numero 1 du nom DOS. Il vaut mieux utilisé l'API qui te donne le chemin court à partir du chemin long. (je me souviens plus de son nom, désolé).

Sinon essai d'ajouter des guillemets au debut et à la fin de ta chaine (avec Chr$).

[;)] Flachy Joe [;)]
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
17 mai 2006 à 21:30
 Bonsoir,

Une autre solution, fso et short (chemin dos)

Dim fso, path, fichier, fichiers, msg
path = "D:\test1"


Set fso = CreateObject("Scripting.FileSystemObject")
Set dossier = fso.GetFolder(path)
Set fichiers = Dossier.Files
For Each fichier in fichiers
'MsgBox "shortPath=" & fichier.ShortPath & vbCrLf & "Path=" & fichier.Path
Msg = Msg + vbCrLf & "shortName=" & fichier.ShortName & "  " & "Name=" & fichier.Name
Next
MsgBox msg
Set fso = Nothing
MsgBox "script terminé"


jean-marc
0
Rejoignez-nous