[R] Format de date - au lieu de /

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
sebnantes
Status : Hors ligne

[R] Format de date - au lieu de /

#1

Message par sebnantes »

Bonsoir,
J'ai écris et testé un script pour créer un fichier texte portant la date de la veille :

Code : Tout sélectionner

#include <File.au3>
#include <Process.au3>
#include <Date.au3>
$hier = _DateAdd("D",-1,_NowCalc())
$hier = _DateTimeFormat($hier, 2)
_RunDos("type c:\log\temp\*.txt >> c:\log\"&$hier&".txt")
FileDelete ( "c:\log\temp\*" )
 
la date générée contient des / et il n'est possible de créer des nom de fichier sous dos avec des / voilà pourquoi la commande dos ne fonctionne pas.

je ne peux pas modifier les options régionale pour que Dos utilise - au lieu de /

est-il possible de modifier le format de la date générée par autoit pour utiliser des - au lieu des / ?

j'ai vu _DateTimeSplit mais comment l'utiliser ici ? MERCI
Modifié en dernier par ani le lun. 22 juin 2009 11:01, modifié 6 fois.
Raison : Oubliez [..] au debut du post
sebnantes
Status : Hors ligne

Re: [..] format de date - au lieu de /

#2

Message par sebnantes »

j'ai trouvé tout seul ! mais si cela peut aider quelqu'un :

Code : Tout sélectionner

#include <File.au3>
#include <Process.au3>
#include <Date.au3>
$hier = _DateAdd("d",-1,_NowCalc())
Dim $MyDate
Dim $MyTime
_DateTimeSplit($hier,$MyDate,$MyTime)
_RunDos("type c:\log\temp\*.txt >> c:\log\"&$MyDate[3]&"-"&$MyDate[2]&"-"&$MyDate[1]&".txt")
FileDelete ( "c:\log\temp\*" )
bonne nuit
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11784
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Format de date - au lieu de /

#3

Message par Tlem »

Vous pouvez aussi utiliser tout simplement ceci :

Code : Tout sélectionner

$hier = StringReplace(_DateTimeFormat(_DateAdd("D",-1,_NowCalc()), 2), "/", "-")
 
Bon c'est le résultat de 4 opérations au lieu de 3 dans votre cas, mais bon ça tient sur une ligne, et le résultat est plus court à écrire dans votre commande _RunDos, et puis j'utilise une seule variable au lieu de 3. ;)
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
sebnantes
Status : Hors ligne

Re: [R] Format de date - au lieu de /

#4

Message par sebnantes »

Merci, c'est pas bête et j'aime bien aussi raccourci le code !
mais je viens de modifier mon code et finalement split est plus avantageux dans mon cas car ce script s'éxécute à J+1 pour travailler les logs de la veille, finallement :

Code : Tout sélectionner

#include <File.au3>
#include <Process.au3>
#include <Date.au3>
$hier = _DateAdd("d",-1,_NowCalc())
Dim $MyDate, $MyTime
_DateTimeSplit($hier,$MyDate,$MyTime)
_RunDos("type c:\log\temp\"&$MyDate[3]&"*.txt >> c:\log\"&$MyDate[3]&"-"&$MyDate[2]&"-"&$MyDate[1]&".txt")
FileDelete ("c:\log\temp\"&$MyDate[3]&"*")
 
Encore merci d'être là et très bonne fin de weekend !
sebnantes
Status : Hors ligne

Re: [R] Format de date - au lieu de /

#5

Message par sebnantes »

Bonjour,
J'ai un bug dans mon script et j'ai besoin d'aide !

_DateAdd("d",-1,_NowCalc())
me donne le jour précédent sous la forme 2008/06/05

_DateTimeSplit($hier,$MyDate,$MyTime)
me permet de découper : MyDate[3]=5, MyDate[2]=6 et MyDate[1]=2008

Comment obtenir MyDate[3]=05 et MyDate[2]=06, avec le jour et le mois sur 2 chiffres ? sans s'appuyer sur les paramètres régionaux du PC ???

Merci beaucoup !
Avatar du membre
Voodoo
Niveau 6
Niveau 6
Messages : 298
Enregistré le : ven. 20 juil. 2007 20:45
Status : Hors ligne

Re: Format de date - au lieu de /

#6

Message par Voodoo »

Code : Tout sélectionner

msgbox(0,0, @MDAY& "/" & @MON & "/" & @YEAR)
:mrgreen:
sebnantes
Status : Hors ligne

Re: Format de date - au lieu de /

#7

Message par sebnantes »

Merci mais ce n'est pas pour de l'affichage, je souhaite utiliser ces variables!
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11784
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: Format de date - au lieu de /

#8

Message par Tlem »

Pourquoi n'aimez vous pas mon code ... :P

Code : Tout sélectionner

#include <Date.au3>
#include <Array.au3>

$MyDate = StringSplit(_DateTimeFormat(_DateAdd("D",-1,_NowCalc()), 2), "/")
_ArrayDisplay($MyDate,"")
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
sebnantes
Status : Hors ligne

Re: [R] Format de date - au lieu de /

#9

Message par sebnantes »

:lol: a cause du paramètre 2 :
"2 = Display a date using the short date format specified in your computer's regional settings."
Hors je ne peux pas me baser sur les options régionales qui ont été modifiées et cela ne donne donc pas le résultat escompté ! les options régionales sont j/m/aaaa et non jj/mm/aaaa
votre code ne fonctionne donc pas...
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11784
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Format de date - au lieu de /

#10

Message par Tlem »

Bon ben alors soyons basique :

Code : Tout sélectionner

#include <Date.au3>
#include <Array.au3>

Dim $MyDate, $MyTime
_DateTimeSplit(_DateAdd("d",-1,_NowCalc()),$MyDate,$MyTime)
$MyDate[2] = StringRight("0" & $MyDate[2],2)
$MyDate[3] = StringRight("0" & $MyDate[3],2)

_ArrayDisplay($MyDate,"")
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
sebnantes
Status : Hors ligne

Re: [R] Format de date - au lieu de /

#11

Message par sebnantes »

SUPER !!!
T'es un chef !
je t'aime
bonne nuit
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11784
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Format de date - au lieu de /  

#12

Message par Tlem »

sebnantes a écrit :je t'aime
Pas tant, pas tant ... :D
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Répondre