Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

La variable d'environnement date ne me renvoi pas le jour

432 views
Skip to first unread message

HD

unread,
Sep 9, 2011, 3:54:03 AM9/9/11
to
Bonjour,

Lorsque je tape "echo %date%" j'obtien 09/09/2011... or je voudrai pouvoir
obtenir "Fri 09/09/2011" pour ainsi avoir le jour de la date.

Comment faire ?

Je suis sous Windows XP.

Cordialement,

@+
HD


Jean-Claude BELLAMY

unread,
Sep 9, 2011, 5:07:08 AM9/9/11
to
Le vendredi 09/09/2011 09:54:03, HD a écrit dans le message
<news:j4cgmr$2qkl$1...@saria.nerim.net> ce qui suit :
> Bonjour,
>
> Lorsque je tape "echo %date%" j'obtien 09/09/2011... or je voudrai pouvoir
> obtenir "Fri 09/09/2011" pour ainsi avoir le jour de la date.
>
> Comment faire ?
>
> Je suis sous Windows XP.
>
Le jour de la semaine a été supprimé dans la variable d'environnement
%DATE% à partir de Windows XP! (il y figure sous Windows 2000)

Avec ce script VBS (lancé avec cscript) :

weekday.vbs
--------- couper ici ---------
wd=Weekday(now,vbMonday)
wscript.echo WeekdayName(wd,true,vbMonday) & " " &
FormatDateTime(Now,2)
--------- couper ici ---------


C:\>weekday
ven. 09/09/2011

--

May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP Expert IT Pro]
http://www.bellamyjc.org ou http://jc.bellamy.free.fr


HD

unread,
Sep 9, 2011, 6:21:04 AM9/9/11
to
Il n'y a pas moyen de l'avoir directement en ligne de commande XP et Windows
7 ?

@+
HD


Jean-Claude BELLAMY

unread,
Sep 9, 2011, 10:40:11 AM9/9/11
to
Le vendredi 09/09/2011 12:21:04, HD a écrit dans le message
<news:j4cpan$4so$1...@saria.nerim.net> ce qui suit :
> Il n'y a pas moyen de l'avoir directement en ligne de commande XP et Windows
> 7 ?

Je viens de te dire que le jour de la semaine a été supprimé dans la
variable %DATE% à partir de XP!

DONC il faut faire appel à un script ou n'importe quoi d'autre.

La solution de mon script VBS ne te convient pas ?
(c'est pourtant en ligne de commande, configurable à loisir, et
utilisable sous W2k, XP, W2K3, Vista, W2K8, Win7)

Gloops

unread,
Sep 9, 2011, 5:25:31 PM9/9/11
to
Bonjour,

Je reprends le script de Jean-Claude Bellamy, et j'écris le résultat
dans un batch. A la fin il reste à appeler ce batch inidate.bat, pour
avoir la date avec le jour de la semaine dans la variable
d'environnement DT. Juste ne pas se tromper sur le répertoire par
défaut, pour bien retrouver le batch.

ça remonte à une vingtaine d'années que j'ai joué avec l'environnement
en assembleur, pour ce style de plaisanterie, alors je ne promets rien
quant au temps dans lequel je serais peut-être capable de retrouver ce
que j'ai fait. Qu'à cela ne tienne, par un batch c'est moins élégant,
mais ça marche. D'ailleurs, une écriture directement dans
l'environnement d'un programme en allant chercher l'adresse dans
l'entête du programme, ça marchait sous DOS, mais il n'est pas exclu que
Windows XP protesterait (en tout cas si on fait ça pour une écriture
dans un fichier on se fait sonner les cloches). Pas sûr que tout le
monde ait suivi, alors je résume, je ne sais pas où j'ai mis ce que
j'avais fait de plus direct, mais on n'a peut-être rien perdu, peut-être
qu'on se serait fait jeter.

Oui alors dans le test que j'ai fait j'ai obtenu le jour de la semaine
en abrégé (trois lettres suivies d'un point), j'imagine que ça ne doit
pas être trop dur si on le veut en entier (quitte à programmer un râteau
au besoin par Select Case).

Le script :
_______________________________
wd=Weekday(now,vbMonday)
dt=WeekdayName(wd,true,vbMonday) & " " & FormatDateTime(Now,2)
Const ForReading = 1, ForWriting = 2
Set WshShell = WScript.CreateObject("WScript.Shell")
Dim fso, f
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile("inidate.bat", ForWriting,true)
f.write("SET DT=" & dt)
MsgBox "Batch prêt."



les renardeaux

unread,
Sep 10, 2011, 11:27:04 AM9/10/11
to
> Bonjour,

Itou,

> Lorsque je tape "echo %date%" j'obtien 09/09/2011... or je voudrai pouvoir
> obtenir "Fri 09/09/2011" pour ainsi avoir le jour de la date.
>
> Je suis sous Windows XP.

Moi z'aussi

> Comment faire ?

Une vieille piste, en batch et dans une variable, moins élégante,
évidemment, que celle de l'ami JCB, mais qui me donne satisfaction :

pour la date :
--------------- pour la date ------------
command /e:2000 /c for %%i in (1 2) do prompt set _d=$d$_ | find "$"
/v>C:\{d}.bat
for %%c in (call del) do %%c C:\{d}.bat
------------ pour la date: FIN ----------

et puis, pour l'heure, en cas de besoin
--------------- pour la date ------------
command /e:2000 /c for %%i in (1 2) do prompt set _t=$t$_ | find "$"
/v>C:\{t}.bat
for %%c in (call del) do %%c C:\{t}.bat
------------ pour la date: FIN ----------

Sinon j'ai un autre batch, compilé en com celui la qui fait ça aussi.
Je te l'envoie si tu veux.


Bisous à ta souris,

--

Nathalie & Michel
les petits renardeaux dans la clairière du CTV


HD

unread,
Sep 19, 2011, 5:17:34 AM9/19/11
to
> Je viens de te dire que le jour de la semaine a été supprimé dans la
> variable %DATE% à partir de XP!
> La solution de mon script VBS ne te convient pas ?
Oups désolé.... je ne devais pas être totalement réveillé quand j'ai lut
votre premier message. Mea culpa.

Merci à vous pour ce script.

Cordialement,
@+
HD


Gloops

unread,
Oct 2, 2011, 7:11:59 AM10/2/11
to
les renardeaux a écrit, le 10/09/2011 17:27 :
> --------------- pour la date ------------
> command /e:2000 /c for %%i in (1 2) do prompt set _t=$t$_ | find "$"
> /v>C:\{t}.bat
> for %%c in (call del) do %%c C:\{t}.bat
> ------------ pour la date: FIN ----------

Évidemment vu comme ça ...

:)

0 new messages