Dans un batch, je cherche à nommer certains fichiers avec la date du jour.
Pour cela je dois utiliser un fichier . bat qui va faire le renommage.
J'ai un souci de subtitution de variable dans le fichier de commandes ci
après.
La variable madate est bien positionnée , mais rename et type remplacent ma
variable par une chaine vide...
Où me suis je trompé?
Merci de vos lumières.
rem file bat de test---------------------
set MADATE = %date%
set MADATE
Pause pour verifier la valeur de la variable
echo aaa > bcklog.txt
type bcklog.txt
pause pour verifier le contenu du file
rename bcklog.txt %MADATE%.txt
pause pour verifier le rename
type %MADATE%.txt
pause pour verifier le contenu du file rename
-----------------------------
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
MCI \(ex do ré Mi chel la si do\) [MVP]
Bonjour !
Sur ma machine (sous Vista), ça marche bien. Le problème pourrait être lié à un espace intempestif dans la variable %date% (selon la version de windows).
@+
Michel Claveau
Bonjour !
Sur ma machine (sous Vista), ça marche bien.
Le problème pourrait être lié à un espace intempestif dans la variable
%date% (selon la version de windows).
Sur ma machine (sous Vista), ça marche bien. Le problème pourrait être lié à un espace intempestif dans la variable %date% (selon la version de windows).
@+
Michel Claveau
Eric Giffard
"Michel HERRSCHER" a écrit dans le message de news: fkvoju$vbd$
Bonjour à tous,
Dans un batch, je cherche à nommer certains fichiers avec la date du jour. Pour cela je dois utiliser un fichier . bat qui va faire le renommage.
J'ai un souci de subtitution de variable dans le fichier de commandes ci après.
La variable madate est bien positionnée , mais rename et type remplacent ma variable par une chaine vide...
Où me suis je trompé?
Merci de vos lumières.
rem file bat de test--------------------- set MADATE = %date% set MADATE Pause pour verifier la valeur de la variable echo aaa > bcklog.txt type bcklog.txt pause pour verifier le contenu du file rename bcklog.txt %MADATE%.txt pause pour verifier le rename type %MADATE%.txt pause pour verifier le contenu du file rename -----------------------------
Michel HERRSCHER
Bonjour Le problème vient du format de la date qui est du genre "Ven. 27/12/2007" Hors les "/" ne sont pas pris dans les noms de fichiers Essaye plutôt
@echo off rem extraction de 2 caractères a partir du 5eme set j=%date:~5,2% rem extraction de 2 caractères a partir du 8eme set m=%date:~8,2% rem extraction des derniers caractères a partir du 11eme set a=%date:~11% echo %j% echo %m% echo %a% set madate=%j%%m%%a% echo %madate%
Tu l'arrange pour renommer ton fichier ren bcklog.txt %MADATE%.txt
A bientôt Eric Giffard MCSE Windows XP/2000/2003 MCT Windows 2000/2003/XP/Vista
Enlever les ~ pour une réponse eric.giffard@~laposte.net (perso) eric.g@~nextmedia.fr (boulot)
"Michel HERRSCHER" <mhc@herrscher.fr> a écrit dans le message de news:
fkvoju$vbd$1@cabale.usenet-fr.net...
Bonjour à tous,
Dans un batch, je cherche à nommer certains fichiers avec la date du jour.
Pour cela je dois utiliser un fichier . bat qui va faire le renommage.
J'ai un souci de subtitution de variable dans le fichier de commandes ci
après.
La variable madate est bien positionnée , mais rename et type remplacent
ma
variable par une chaine vide...
Où me suis je trompé?
Merci de vos lumières.
rem file bat de test---------------------
set MADATE = %date%
set MADATE
Pause pour verifier la valeur de la variable
echo aaa > bcklog.txt
type bcklog.txt
pause pour verifier le contenu du file
rename bcklog.txt %MADATE%.txt
pause pour verifier le rename
type %MADATE%.txt
pause pour verifier le contenu du file rename
-----------------------------
Michel HERRSCHER
Bonjour
Le problème vient du format de la date qui est du genre "Ven. 27/12/2007"
Hors les "/" ne sont pas pris dans les noms de fichiers
Essaye plutôt
@echo off
rem extraction de 2 caractères a partir du 5eme
set j=%date:~5,2%
rem extraction de 2 caractères a partir du 8eme
set m=%date:~8,2%
rem extraction des derniers caractères a partir du 11eme
set a=%date:~11%
echo %j%
echo %m%
echo %a%
set madate=%j%%m%%a%
echo %madate%
Tu l'arrange pour renommer ton fichier
ren bcklog.txt %MADATE%.txt
A bientôt
Eric Giffard
MCSE Windows XP/2000/2003
MCT Windows 2000/2003/XP/Vista
Enlever les ~ pour une réponse
eric.giffard@~laposte.net (perso)
eric.g@~nextmedia.fr (boulot)
"Michel HERRSCHER" a écrit dans le message de news: fkvoju$vbd$
Bonjour à tous,
Dans un batch, je cherche à nommer certains fichiers avec la date du jour. Pour cela je dois utiliser un fichier . bat qui va faire le renommage.
J'ai un souci de subtitution de variable dans le fichier de commandes ci après.
La variable madate est bien positionnée , mais rename et type remplacent ma variable par une chaine vide...
Où me suis je trompé?
Merci de vos lumières.
rem file bat de test--------------------- set MADATE = %date% set MADATE Pause pour verifier la valeur de la variable echo aaa > bcklog.txt type bcklog.txt pause pour verifier le contenu du file rename bcklog.txt %MADATE%.txt pause pour verifier le rename type %MADATE%.txt pause pour verifier le contenu du file rename -----------------------------
Michel HERRSCHER
Bonjour Le problème vient du format de la date qui est du genre "Ven. 27/12/2007" Hors les "/" ne sont pas pris dans les noms de fichiers Essaye plutôt
@echo off rem extraction de 2 caractères a partir du 5eme set j=%date:~5,2% rem extraction de 2 caractères a partir du 8eme set m=%date:~8,2% rem extraction des derniers caractères a partir du 11eme set a=%date:~11% echo %j% echo %m% echo %a% set madate=%j%%m%%a% echo %madate%
Tu l'arrange pour renommer ton fichier ren bcklog.txt %MADATE%.txt
A bientôt Eric Giffard MCSE Windows XP/2000/2003 MCT Windows 2000/2003/XP/Vista
Enlever les ~ pour une réponse eric.giffard@~laposte.net (perso) eric.g@~nextmedia.fr (boulot)
MCI \(ex do ré Mi chel la si do\) [MVP]
Bonjour !
Aaarrff. Très juste.
J'avais oublié que le format de date (pour les batchs) dépend de ce qui est défini dans les options régionales. Ce qui explique que ça fonctionne chez moi, et pas forcément sur d'autres ordis.
La solution est, bien sûr, de s'affranchir des séparateurs. (Perso, j'utilise : %date:~-2%%date:~3,2%%date:~,2%)
@-salutations
Michel Claveau
Bonjour !
Aaarrff. Très juste.
J'avais oublié que le format de date (pour les batchs) dépend de ce qui
est défini dans les options régionales.
Ce qui explique que ça fonctionne chez moi, et pas forcément sur
d'autres ordis.
La solution est, bien sûr, de s'affranchir des séparateurs.
(Perso, j'utilise : %date:~-2%%date:~3,2%%date:~,2%)
J'avais oublié que le format de date (pour les batchs) dépend de ce qui est défini dans les options régionales. Ce qui explique que ça fonctionne chez moi, et pas forcément sur d'autres ordis.
La solution est, bien sûr, de s'affranchir des séparateurs. (Perso, j'utilise : %date:~-2%%date:~3,2%%date:~,2%)
@-salutations
Michel Claveau
Michel HERRSCHER
Dans un message MCI (ex do ré Mi chel la si do) [MVP] disait :
Bonjour !
Aaarrff. Très juste.
J'avais oublié que le format de date (pour les batchs) dépend de ce qui est défini dans les options régionales. Ce qui explique que ça fonctionne chez moi, et pas forcément sur d'autres ordis.
La solution est, bien sûr, de s'affranchir des séparateurs. (Perso, j'utilise : %date:~-2%%date:~3,2%%date:~,2%)
@-salutations
Michel Claveau
j'ai adapté le script selon vos conseils et c'est OK
pour info le format de ma date est jj-mm-aaaa
et madate donnait 27-12-2007 mais la subtitution ne donnait rien. Est ce que Windows ferait l'operation arith avant la substitution ????
Curieux.
-- Michel HERRSCHER
Dans un message MCI (ex do ré Mi chel la si do) [MVP] disait :
Bonjour !
Aaarrff. Très juste.
J'avais oublié que le format de date (pour les batchs) dépend de ce qui
est défini dans les options régionales.
Ce qui explique que ça fonctionne chez moi, et pas forcément sur
d'autres ordis.
La solution est, bien sûr, de s'affranchir des séparateurs.
(Perso, j'utilise : %date:~-2%%date:~3,2%%date:~,2%)
@-salutations
Michel Claveau
j'ai adapté le script selon vos conseils et c'est OK
pour info le format de ma date est jj-mm-aaaa
et madate donnait 27-12-2007
mais la subtitution ne donnait rien.
Est ce que Windows ferait l'operation arith avant la substitution ????
Dans un message MCI (ex do ré Mi chel la si do) [MVP] disait :
Bonjour !
Aaarrff. Très juste.
J'avais oublié que le format de date (pour les batchs) dépend de ce qui est défini dans les options régionales. Ce qui explique que ça fonctionne chez moi, et pas forcément sur d'autres ordis.
La solution est, bien sûr, de s'affranchir des séparateurs. (Perso, j'utilise : %date:~-2%%date:~3,2%%date:~,2%)
@-salutations
Michel Claveau
j'ai adapté le script selon vos conseils et c'est OK
pour info le format de ma date est jj-mm-aaaa
et madate donnait 27-12-2007 mais la subtitution ne donnait rien. Est ce que Windows ferait l'operation arith avant la substitution ????
Curieux.
-- Michel HERRSCHER
Michel HERRSCHER
Dans un message Michel HERRSCHER disait :
Dans un message MCI (ex do ré Mi chel la si do) [MVP] disait :
Bonjour !
Aaarrff. Très juste.
J'avais oublié que le format de date (pour les batchs) dépend de ce qui est défini dans les options régionales. Ce qui explique que ça fonctionne chez moi, et pas forcément sur d'autres ordis.
La solution est, bien sûr, de s'affranchir des séparateurs. (Perso, j'utilise : %date:~-2%%date:~3,2%%date:~,2%)
@-salutations
Michel Claveau
j'ai adapté le script selon vos conseils et c'est OK
pour info le format de ma date est jj-mm-aaaa
et madate donnait 27-12-2007 mais la subtitution ne donnait rien. Est ce que Windows ferait l'operation arith avant la substitution ????
Curieux.
On a trouvé la raison de mon erreur...
en fait j'ai laissé des espaces sur la ligne
set madate = %date%
et avec
set madate=%date%
cela fonctionne bien...
Ceci dit votre solution d'extraction des composantes de la date permet de s'affranchier des formats personnalisés....
Merci encore de votre aide. -- Michel HERRSCHER
Dans un message Michel HERRSCHER disait :
Dans un message MCI (ex do ré Mi chel la si do) [MVP] disait :
Bonjour !
Aaarrff. Très juste.
J'avais oublié que le format de date (pour les batchs) dépend de ce qui
est défini dans les options régionales.
Ce qui explique que ça fonctionne chez moi, et pas forcément sur
d'autres ordis.
La solution est, bien sûr, de s'affranchir des séparateurs.
(Perso, j'utilise : %date:~-2%%date:~3,2%%date:~,2%)
@-salutations
Michel Claveau
j'ai adapté le script selon vos conseils et c'est OK
pour info le format de ma date est jj-mm-aaaa
et madate donnait 27-12-2007
mais la subtitution ne donnait rien.
Est ce que Windows ferait l'operation arith avant la substitution ????
Curieux.
On a trouvé la raison de mon erreur...
en fait j'ai laissé des espaces sur la ligne
set madate = %date%
et avec
set madate=%date%
cela fonctionne bien...
Ceci dit votre solution d'extraction des composantes de la date permet de
s'affranchier des formats personnalisés....
Dans un message MCI (ex do ré Mi chel la si do) [MVP] disait :
Bonjour !
Aaarrff. Très juste.
J'avais oublié que le format de date (pour les batchs) dépend de ce qui est défini dans les options régionales. Ce qui explique que ça fonctionne chez moi, et pas forcément sur d'autres ordis.
La solution est, bien sûr, de s'affranchir des séparateurs. (Perso, j'utilise : %date:~-2%%date:~3,2%%date:~,2%)
@-salutations
Michel Claveau
j'ai adapté le script selon vos conseils et c'est OK
pour info le format de ma date est jj-mm-aaaa
et madate donnait 27-12-2007 mais la subtitution ne donnait rien. Est ce que Windows ferait l'operation arith avant la substitution ????
Curieux.
On a trouvé la raison de mon erreur...
en fait j'ai laissé des espaces sur la ligne
set madate = %date%
et avec
set madate=%date%
cela fonctionne bien...
Ceci dit votre solution d'extraction des composantes de la date permet de s'affranchier des formats personnalisés....