OVH Cloud OVH Cloud

Recuperation date formatee dans une variable d'env

4 réponses
Avatar
antoine
Bonjour,

je debute en script cmd, et j'aimerais recupere la date dans une variable
dans une format specifique.

En fait, l'équivalent en korn shell de la commande .

DATE=`date +%d%m%Y`

Merci d'avance.

Cdt

Antoine

4 réponses

Avatar
Jean-Claude BELLAMY
Dans le message brk05t$pu$,
antoine s'est ainsi exprimé :

Bonjour,

je debute en script cmd, et j'aimerais recupere la date dans une
variable dans une format specifique.

En fait, l'équivalent en korn shell de la commande .

DATE=`date +%d%m%Y`



Très simple avec la commande SET et ses extensions ":~x,y"

1) On peut extraire une sous-chaine dans une variable d'environnement en
faisant suivre son nom (et avant le % final) de la chaine ":~x,y" (sans les
guillemets), dans laquelle :
x : nombre de caractères à IGNORER au début
y : nombre de caractères à COPIER
Ex.
set test«CDEFGHIJKLMNOP

echo %test:~3,4%
DEFG

Si x est omis, c'est équivalent à avoir x=0 (on commence dès le début)
echo %test:~,5%
ABCDE

Si y est omis, on copie TOUS les caractères (les x 1ers ignorés) jusqu'à la
fin
echo %test:~3%
DEFGHIJKLMNOP

Si x est négatif et y positif, on copie les y 1ers caractères parmi les |x|
derniers
echo %test:~-5,2%
LM

Si x est négatif et y omis, on prend les |x| caractères en partant de la fin
echo %test:~-6%
KLMNOP

Si x est positif et y négatif, on copie tous les caractères après le x ième
sauf les |y| derniers
echo %test:~3,-4%
DEFGHIJKL

Si x est négatif et y négatif,on prend les |x| derniers caractères SAUF les
|y| derniers
echo %test:~-7,-3%
JKLM


(plus long à expliquer qu'à pratiquer!)

2) La variable d'environnement prédéfinie %DATE% est dans le format suivant
:
www. dd/mm/aaaa

www. : jour de la semaine
dd : quantième
mm : mois
aaaa : année

Exemple :
H:WSH>echo %date%
lun. 15/12/2003

3) Donc pour récupérer l'un de ces composants, on procède ainsi :

set W=%date:~0,3%
set D=%date:~5,2%
set M=%date:~8,2%
set A=%date:~11,4% (ou set A=%date:~11%)

A toi de combiner tout cela à ta guise...


Et pour plus d'infos sur la syntaxe de SET, taper
SET /?

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

par contre, chez moi un echo %DATE% ne m'affiche pas la date mais %DATE%.
J'imagine que cette variable d'environnement n'est renseignee que dans
certaines versions
de Windows. J'aurai du la preciser : il s'agit de NT 4.

Sinon, je peux obtenir la date en tapant : "date /T".

Merci d'avance.

Cdt

Antoine
Avatar
Emmanuel GEORGES
Dans news:brk05t$pu$,
antoine a écrit:
Bonjour,

je debute en script cmd, et j'aimerais recupere la date dans une
variable dans une format specifique.



J'utilise cela :

for /F "tokens=1,* delims= " %%i in ('date /T') do set DATE_JOUR=%%j
for /F "tokens=1,* delims=/" %%i in ('echo %DATE_JOUR%') do set JOUR=%%i
for /F "tokens=2,* delims=/" %%i in ('echo %DATE_JOUR%') do set MOIS=%%i
for /F "tokens=3,* delims=/, " %%i in ('echo %DATE_JOUR%') do set ANNE=%%i
for /F "tokens=1,* delims= " %%i in ('time /T') do set HEUR_JOUR=%%i
for /F "tokens=1,* delims=:" %%i in ('echo %HEUR_JOUR%') do set HEUR=%%i
for /F "tokens=2,* delims=:" %%i in ('echo %HEUR_JOUR%') do set MINU=%%i



--
Emmanuel GEORGES
Web : http://www.plonger.net - La plongée sous-marine sur le Net
Avatar
antoine
Merci bcp,
ca marche nickel maintenant.

Antoine