OVH Cloud OVH Cloud

problème avec la variable date

3 réponses
Avatar
papou
Salut tout le monde

sur Win 2000 c:\date /T donne ==> lun. 11/10/2004
sur Win 2003 et XP c:\date /T donne ==> 11/10/2004
Comment faire sur 2003 et XP pour le nom du jour que je veux récuperer
en variable ?
Est-ce qu'il y a un utilitaire pour la date que l'on peut utiliser en
batch ?

Merci

3 réponses

Avatar
Eric Giffard
wrote:
Salut tout le monde

sur Win 2000 c:date /T donne ==> lun. 11/10/2004
sur Win 2003 et XP c:date /T donne ==> 11/10/2004
Comment faire sur 2003 et XP pour le nom du jour que je veux récuperer
en variable ?
Est-ce qu'il y a un utilitaire pour la date que l'on peut utiliser en
batch ?

Merci
Bonjour


Pour NT/2000/XP/2003 :
dans un batch tu ecris (sur une ligne)
for /F "tokens=2,3,4 delims=/, " %%i in ('date /T') do set
savedate=%%i%%j%%k
après tu peux facilement exploiter la variable savedate (format JJMMAAAA)
si tu mets "tokens=1,2,3,4 delims=/, " savedate aura le format Lun. 11 10
2004

L'exemple suivante affiche la date et l'heure
@echo off
rem Tokens pour date 1 Jour, 2 NO jour, 3 Mois et 4 année
for /F "tokens=1,2,3,4 delims=/, " %%i in ('date /T') do set savedate=%%i
%%j %%k %%l
rem Tokens pour time 1 Heure, 2 Mn
for /F "tokens=1,2 delims=:, " %%i in ('time /T') do set savetime=%%i:%%j
echo %savedate%
echo %savetime%
pause

A bientôt
Enlever les ~ pour une réponse
Eric Giffard
MCSE Windows 2000
MCT Windows 2000

eric.giffard@~ifrance.com (perso)
eric.g@~nextmedia.fr (boulot)
http://www.nextmedia.fr

Avatar
Jean-Claude BELLAMY
Dans le message news: ,
s'est ainsi exprimé:

Salut tout le monde

sur Win 2000 c:date /T donne ==> lun. 11/10/2004
sur Win 2003 et XP c:date /T donne ==> 11/10/2004
Comment faire sur 2003 et XP pour le nom du jour que je veux récuperer
en variable ?
Est-ce qu'il y a un utilitaire pour la date que l'on peut utiliser en
batch ?


AMHA, la solution la plus simple (et la plus universelle) est de passer par
un script VBS :


Fichier GETWD.VBS
----- couper ici -----
D=WeekDay(Now,vbUseSystem)
wscript.echo WeekDayName(D, false, vbUseSystem)
----- couper ici -----

NB: A lancer avec CSCRIPT

La sortie a lieu vers Stdout (la console)

@echo off
echo Nous sommes un
cscript getwd.vbs

On peut aussi rediriger vers un fichier, et récupérer la vleur du jour dans
une variable

@echo off
cscript getwd.vbs > jour.txt
for /F %%D in (jour.txt) do set DOW=%%D
echo Nous sommes un %DOW%
...

ou encore, pour rendre encore plus compact :
@echo off
for /F %%D in ('cscript getwd.vbs') do set DOW=%%D
echo Nous sommes un %DOW%
...


NB: opérationnel sous Win98, WinME, W2K, XP, W2K3 (et NT4 après installation
de VBS/WSH)


--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
http://www.bellamyjc.org *


Avatar
papou
--------------B56DB9114FA6C08835C38EBB
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit

Merci JCB

C'est exactement ce que je voulais. Voilà pourquoi :
**************************************************************************************

for /F "tokens=1,2,3,4 delims=/, " %%i in ('date /T') do set DDAY=%%i %%j %%k
%%l
for /F "tokens=2,3,4 delims=, " %%i in ('date /T') do set JOUR=%%i%%j%%k
for /F "tokens=1,2 delims=:, " %%i in ('time /T') do set HEURE=%%i:%%j
for /F "tokens=1 delims=:, " %%i in ('time /T') do set HEUREH=%%i
for /F "tokens=2 delims=:, " %%i in ('time /T') do set HEUREM=%%i
for /F "tokens=1 delims=, " %%i in ('date /T') do set DAY=%%i
for /F %%D in ('cscript getwd.vbs') do set Dow=%%D
for /F "tokens=2 delims=/, " %%i in ('date /T') do set CEJOUR=%%i
for /F "tokens=3 delims=/, " %%i in ('date /T') do set MOIS=%%i
for /F "tokens=4 delims=/, " %%i in ('date /T') do set ANNEE=%%i
MKDIR C:"WIN2000 du %DAY% %CEJOUR%.%MOIS%.%ANNEE% … %HEUREH%h%HEUREM%"
MKDIR C:"WIN2000 du %DDAY% … %HEUREH%h%HEUREM%"
MKDIR C:"WIN2000 du %dow% %CEJOUR% %MOIS% %ANNEE% … %HEUREH%h%HEUREM%"
MKDIR C:"WIN2003 du %dow% %DDAY%… %HEUREH%h%HEUREM%"
**************************************************************************************




Dans le message news: ,
s'est ainsi exprimé:

Salut tout le monde

sur Win 2000 c:date /T donne ==> lun. 11/10/2004
sur Win 2003 et XP c:date /T donne ==> 11/10/2004
Comment faire sur 2003 et XP pour le nom du jour que je veux récuperer
en variable ?
Est-ce qu'il y a un utilitaire pour la date que l'on peut utiliser en
batch ?


AMHA, la solution la plus simple (et la plus universelle) est de passer par
un script VBS :

Fichier GETWD.VBS
----- couper ici -----
D=WeekDay(Now,vbUseSystem)
wscript.echo WeekDayName(D, false, vbUseSystem)
----- couper ici -----

NB: A lancer avec CSCRIPT

La sortie a lieu vers Stdout (la console)

@echo off
echo Nous sommes un
cscript getwd.vbs

On peut aussi rediriger vers un fichier, et récupérer la vleur du jour dans
une variable

@echo off
cscript getwd.vbs > jour.txt
for /F %%D in (jour.txt) do set DOW=%%D
echo Nous sommes un %DOW%
...

ou encore, pour rendre encore plus compact :
@echo off
for /F %%D in ('cscript getwd.vbs') do set DOW=%%D
echo Nous sommes un %DOW%
...

NB: opérationnel sous Win98, WinME, W2K, XP, W2K3 (et NT4 après installation
de VBS/WSH)

--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
http://www.bellamyjc.org *



--------------B56DB9114FA6C08835C38EBB
Content-Type: text/html; charset=iso-8859-1
Content-Transfer-Encoding: 8bit

<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<b>Merci JCB</b>
<p>C'est exactement ce que je voulais. Voil&agrave; pourquoi :
<br>**************************************************************************************
<br>for /F "tokens=1,2,3,4 delims=/, " %%i in ('date /T') do set DDAY=%%i
%%j %%k %%l
<br>for /F "tokens=2,3,4 delims=, " %%i in ('date /T') do set JOUR=%%i%%j%%k
<br>for /F "tokens=1,2 delims=:, " %%i in ('time /T') do set HEURE=%%i:%%j
<br>for /F "tokens=1 delims=:, " %%i in ('time /T') do set HEUREH=%%i
<br>for /F "tokens=2 delims=:, " %%i in ('time /T') do set HEUREM=%%i
<br>for /F "tokens=1 delims=, " %%i in ('date /T') do set DAY=%%i
<br><b>for /F %%D in ('cscript getwd.vbs') do set Dow=%%D</b>
<br>for /F "tokens=2 delims=/, " %%i in ('date /T') do set CEJOUR=%%i
<br>for /F "tokens=3 delims=/, " %%i in ('date /T') do set MOIS=%%i
<br>for /F "tokens=4 delims=/, " %%i in ('date /T') do set ANNEE=%%i
<br>MKDIR C:"WIN2000 du %DAY% %CEJOUR%.%MOIS%.%ANNEE% … %HEUREH%h%HEUREM%"
<br>MKDIR C:"WIN2000 du %DDAY% … %HEUREH%h%HEUREM%"
<br>MKDIR C:"WIN2000 du <b>%dow% </b>%CEJOUR% %MOIS% %ANNEE% … %HEUREH%h%HEUREM%"
<br>MKDIR C:"WIN2003 du <b>%dow% </b>%DDAY%… %HEUREH%h%HEUREM%"
<br>**************************************************************************************
<br>&nbsp;
<blockquote TYPE=CITE>Dans le message <a href="news:">news:</a>
,
<br> &lt; s'est ainsi exprim&eacute;:
<p>> Salut tout le monde
<br>>
<br>> sur Win 2000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
c:date /T donne ==>&nbsp; lun. 11/10/2004
<br>> sur Win 2003 et XP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
c:date /T donne ==> 11/10/2004
<br>> Comment faire sur 2003 et XP pour le nom du jour que je veux r&eacute;cuperer
<br>> en variable ?
<br>> Est-ce qu'il y a un utilitaire pour la date que l'on peut utiliser
en
<br>> batch ?
<p>AMHA, la solution la plus simple (et la plus universelle) est de passer
par
<br>un script VBS :
<p>Fichier GETWD.VBS
<br>----- couper ici -----
<br>D=WeekDay(Now,vbUseSystem)
<br>wscript.echo WeekDayName(D, false, vbUseSystem)
<br>----- couper ici -----
<p>NB: A lancer avec CSCRIPT
<p>La sortie a lieu vers Stdout (la console)
<p>&nbsp;&nbsp;&nbsp; @echo off
<br>&nbsp;&nbsp;&nbsp; echo Nous sommes un
<br>&nbsp;&nbsp;&nbsp; cscript getwd.vbs
<p>On peut aussi rediriger vers un fichier, et r&eacute;cup&eacute;rer
la vleur du jour dans
<br>une variable
<p>&nbsp;&nbsp;&nbsp; @echo off
<br>&nbsp;&nbsp;&nbsp; cscript getwd.vbs > jour.txt
<br>&nbsp;&nbsp;&nbsp; for /F %%D in (jour.txt) do set DOW=%%D
<br>&nbsp;&nbsp;&nbsp; echo Nous sommes un %DOW%
<br>&nbsp;&nbsp;&nbsp; ...
<p>ou encore, pour rendre encore plus compact :
<br>&nbsp;&nbsp;&nbsp; @echo off
<br>&nbsp;&nbsp;&nbsp; for /F %%D in ('cscript getwd.vbs') do set DOW=%%D
<br>&nbsp;&nbsp;&nbsp; echo Nous sommes un %DOW%
<br>&nbsp;&nbsp;&nbsp; ...
<p>NB: op&eacute;rationnel sous Win98, WinME, W2K, XP, W2K3 (et NT4 apr&egrave;s
installation
<br>de VBS/WSH)
<p>--
<br>May the Force be with You!
<br>La Connaissance s'accro&icirc;t quand on la partage
<br>----------------------------------------------------------
<br>Jean-Claude BELLAMY [MVP] - <a href="http://www.bellamyjc.org">http://www.bellamyjc.org</a>
<br><a href="http://www.bellamyjc.org">http://www.bellamyjc.org</a>
*
<br></blockquote>
</html>

--------------B56DB9114FA6C08835C38EBB--