Page 1 sur 1

[résolu]Génération d'espace indésirable

Posté : 09 juil. 2010 10:43
par Miatec
Bonjour,

J'ai fait un script d'autobackup de ma base de donnée mysql en .bat. celui ci marchait niquel hier, ce matin je revient et il ne marche plus.
La raison est simple, quand je récupére l'heure (mais c'est valable pour le jour, le mois etc) et que celle-ci est inférieur à 10 ( comprendre 0x), le 0 ne s'affiche pas, et j'ai un magnifique espace qui apparait dans ma ligne de commande mysqldump.
Comme chacun le sait, cet espace provoque donc l'interprétation du texte suivant comme un paramètre en plus...

J'aimerais forcer mon script a afficher les '0' de gauche, c'est possible? Si oui comment?
Pour information, voici mon script :

Code : Tout sélectionner

@echo off
cls
REM ce script lance une sauvegarde de la base de donnée du systeme de gestion des proposition de modifications
REM Vous pouvez être amenné à adapter celui ci si vous changez la configuration par défaut.


set maDate=%date%
REM echo %maDate%
set monHeure=%time:~0,2%
REM echo %monHeure%
set maMinute=%time:~3,2%
REM echo %monHeure%
set monJour=%maDate:~0,2%
REM echo %monJour%
set monMois=%maDate:~3,2%
REM echo %monMois%
set monAnnee=%maDate:~6,4%
REM echo %monAnnee%
set maDateFormatMysql=%monAnnee%-%monMois%-%monJour%_a_%monHeure%h%maMinute%
REM echo %maDateFormatMysql%
rem echo %maDateFormatMysql%
set monFichier=..\fichiers\fichiersCrees\_id_-Sauvegarde_BDD_du_%maDateFormatMysql%.sql
REM set monFichier=..\fichiers\fichiersCrees\%maDateFormatMysql%.sql

REM echo %monFichier%
rem echo "Sauvegarde de la base de donnee" c:\wamp\bin\mysql\mysql5.1.36\bin\mysqldump.exe --opt --user=user --password=password --result-file=%monFichier% gpm > lancementbackup.log
start "Sauvegarde de la base de donnee" c:\wamp\bin\mysql\mysql5.1.36\bin\mysqldump.exe --opt --user=user --password =Iamr00t --result-file=%monFichier% gpm
 
Merci d'avance :)

Re: Génération d'espace indésirable

Posté : 09 juil. 2010 11:08
par Miatec
Miatec a écrit :(mais c'est valable pour le jour, le mois etc)
Je me rend compte que non, puisque aujourd'hui le 9 juillet s'affiche bien au final 2010-07-09 et que la minute dans 10h01 s'affiche bien avec le zero...
Il n'y a vraiment que l'heure qui se conduise comme ça.

le problème aussi, c'est que va variable monHeure ne contient pas '9' mais bien '_9' (l'underscore est a comprendre comme un espace, evidement, j'avais penser à faire un algo du genre :
si monheure<10 alors
monHeure = 0%monHeure%

Mais monHeure finit en '0_9' ...

Re: Génération d'espace indésirable

Posté : 09 juil. 2010 11:27
par Miatec
Miatec a écrit : Mais monHeure finit en '0_9' ...
suis-je bête... j'ai déjà utilisé la solution plusieurs fois!

if %monHeure% lss 10 (set monHeure=0%monHeure:~1,1%)

Problème réglé :D :)