Creer un batch avec log de sortie daté

Fermé
Habeas_Corpus - 21 avril 2008 à 12:19
zavenger Messages postés 811 Date d'inscription vendredi 29 février 2008 Statut Membre Dernière intervention 20 avril 2012 - 22 avril 2008 à 10:00
Bonjour,

j'ai crée un script qui m'extrait les journaux d'evenement windows a l'aide de l'outil PSloglist:

ECHO OFF

rem suppression du fichier d'export pré-existant
rem Recuperation des evenements Warning et Errors depuis le dernier jour -> System Log
(
psloglist @servers_list.txt -s -t ; -d 1 -f we
rem Recuperation des evenements Warning et Errors depuis le dernier jour -> Application Log
psloglist @servers_list.txt appl -s -t ; -d 1 -f we
rem redirection dans un fichier txt
)>>logs_event.txt


ça marche tres bien sauf que le fichier log crée est systematiquement ecrasé a chaque execution du script.

Peut-on faire en sorte que le fichier log crée le soit estampillé de la date du jour ? ? et si oui ... comment ?

Merci

1 réponse

zavenger Messages postés 811 Date d'inscription vendredi 29 février 2008 Statut Membre Dernière intervention 20 avril 2012 161
21 avril 2008 à 12:30
tu doit construire le nom de ton fichier en plusieur fois:

for /F %%i in ('DATE /T') do set DD=%%i
te donne la date du jour dans la variable DD

SET DD=%DD:~0,2%
Extrait les 2 premier caracteres de DD


ainsi de pour avoir jour, mois annee ...

tu batis donc le nom de ton fichier de log
0
Habeas_Corpus
21 avril 2008 à 13:49
merci pour ta reponse.

concretement, comment implementer cela dans mon script ? je place le for au debut ?

désolé de t'embeter mais ce n'est pas mon fort les batch !
0
zavenger Messages postés 811 Date d'inscription vendredi 29 février 2008 Statut Membre Dernière intervention 20 avril 2012 161 > Habeas_Corpus
21 avril 2008 à 14:44
donc au debut de ton script:

for /F %%i in ('DATE /T') do set DD=%%i

SET JJ=%DD:~0,2%
SET MM=%DD:~2,2%
SET AA=%DD:~4,4%

les 3 lignes recuperent les jours mois annees de la date (a toi de mette les bonnes valuers car cela depends de tes settings, mais tu dois bien voir le format de sortie de DATE /T dans un command prompt


SET logfile = %JJ%%MM%%AA%.log


et tu remplace ta redirection a la fin de ton script par

>> %logfile%
0
Habeas_Corpus > zavenger Messages postés 811 Date d'inscription vendredi 29 février 2008 Statut Membre Dernière intervention 20 avril 2012
21 avril 2008 à 17:45
OK, merci


dans mon cas : Date /t donne Mon 04/21/2008

donc for /F %%i in ('DATE /T') do set DD=%%i

SET JJ=%DD:~1,2% c'est ça ?

a quoi ça correspond ces chiffres "1,2"

encore merci, j'essaie de comprendre le raisonnement
0
zavenger Messages postés 811 Date d'inscription vendredi 29 février 2008 Statut Membre Dernière intervention 20 avril 2012 161 > Habeas_Corpus
22 avril 2008 à 10:00
Dans ton cas DD:~1,2 va extraire 2 caractères de la chaine DD en commencant au caractère 1 (attention la chaine commence au caractere 0)
0