[dos] date d'hier

Fermé
Gaetan - 21 nov. 2006 à 14:24
dubcek Messages postés 18758 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 24 décembre 2024 - 27 mars 2007 à 10:19
Bonjour,
Je suis en train de mettre en place un batch de renommage de fichier sous DOS et dans le nom de mon fichier il me faudrait récupérer la date d'hier (donc un truc du genre getdate()-1).

PS : J'arrive déjà a recuperer la date dans un variable et la mettre en forme (ex: nom_de_fichier_21112006.xls)

Si quelqu'un peut me sortir de cette impasse ca serait super.
Merci d'avance

1 réponse

Bernard.Mouille
11 déc. 2006 à 20:47
Bonsoir Gaetan,

La question d'une date antérieure m'intéresse aussi car certaines de mes applications l'utilisent.

J'ai résolu le problème, mais la solution que j'ai est lourde.

Si quelqu'un avait une solution légère, ce serait merveilleux.

Si tu veux ma solution (lourde), je peux te la faire passer.

Bonne soirée

B.M.
0
Salut,

moi je suis preneur de toute solution, y compris lourde...

Edouard
0
Bernard.Mouille > Edouard
18 févr. 2007 à 21:06
Bonsoir Edouard

Tu peux prendre le fichier compressé dans lequel il y a :

un fichier BAT d'exécution pour exemple,
un fichier EXE sous DOS (c'est du CLIPPER)

Bien vérifier qu'il n'y a pas de virus

http://perso.orange.fr/bernard.mouille/dateav/DATEAV.ZIP

Dis-moi ce que tu en penses

Bonne nuit

BM
0
Bernard.Mouille > Edouard
27 mars 2007 à 03:02
Bonsoir Edouard


Avec mes excuses pour ce retard, mais je n'avais oas été averti par mail car tu as créé un nouveau ujet de discussion.

La source du programme exe suit : c'est du Clipper5

Bonne journée

Bernard

------------------Fichier PRG ----------------------


* DATEAV.PRG - Récupérer une date différente.
* -------------------------------------------
*
PARAMETERS DATEX
*
IF PCOUNT()==0
DATEX=-1
ELSE
DATEX=VAL(DATEX)
ENDIF
*
SET DATE FREN
SET CENT ON
XF=FCREATE("DATEAV.TXT",0)
FWRITE(XF,DTOC(DATE()+DATEX))
FCLOSE(XF)
RETU


----------------- Fichier Bat --------------------

@ REM Paramètre à passer : le nombre de jours en positif ou en
@ REM négatif : -15 ou 15 par exemple.
@ REM Pas de paramètre = -1 par d‚faut.
@
@ DATEAV.EXE -15
@
@
@ DATE >DATEJO.TXT /T
@ ECHO Date du jour : %DATE%
@ DATE<DATEAV.TXT
@ ECHO Date d'hier : %DATE%
@ DATE<DATEJO.TXT
@ ECHO Date du jour : %DATE%
@ DEL DATEJO.TXT >NUL
@ DEL DATEAV.TXT >NUL
@ PAUSE
0
EDOUARD > Bernard.Mouille
27 mars 2007 à 09:56
Salut bernard,

Merci pour le code clipper, ça servira surment à qqn.

Sinon, je me suis contenté de faire fonctionner ton exe en générant une date J-1 dans un txt et une autre J-8 dans un autre txt.

Ensuite je récupère mes dates et les présente à l'aglosaxone avec For tokens...

Puis je détruit les txt.

Bref c'est lourd mais ça marche "comme une horloge".

Et le but étant juste de faire un appel quotidien à ce batch avec une teche planifiée et d'appeler un script php avec les bonnes dates, le traitement n'était pas très lourd non plus.

Bref comme souvent c'est le résultat qui compte (pour moi) et non la manière...
0
dubcek Messages postés 18758 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 24 décembre 2024 5 623 > Bernard.Mouille
27 mars 2007 à 10:19
Bonjour,
installer la commande GNU/Linux date et tape date yesterday

http://unxutils.sourceforge.net/
0