Creer un batch avec log de sortie daté
Habeas_Corpus
-
zavenger Messages postés 817 Statut Membre -
zavenger Messages postés 817 Statut Membre -
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
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
-
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-
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 !- 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%
-