Stocker le contenu d'un fichier dans une variable
Bonjour,
Je débute dans les scripts Batch mais j’ai des notions en programmation.
Voila, je voudrais récupérer le contenue d’un fichier .log dans une variable pour l’utiliser avec un VB Script qui me l’envoie par mail.
Pour être plus précis, un de nos logiciels crée un fichier .log dès qu’une erreur ou un problème surgit.
Mon script doit en fait prendre un fichier .log du dossier, stocker son contenue dans une variable, puis l’envoyer vers le VB Script, qui lui me l’envoie par mail et renommer le fichier log en .old.
Au final, je reçois un mail avec le contenue du fichier log.
Voici ce que j’ai peu trouvé en cherchant sur le net mais la partie qui doit lire le fichier log ne marche pas.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| @echo off
TITLE %0 Script
REM Chemin d acces au repertoire contenant le fichier log
C:
CD C:\Temp\
REM Lecture du dernier fichier Log du repertoire par ordre alphabetique
FOR /R %%i in ( dir *.log ) do set logfile=%%i
echo : logfile : %logfile%
REM Lecture du message d'erreur contenu dans le fichier log
set message=
set /P message= <%logfile%"
echo message : %message%
REM Chemin d acces au script VBS
C:
CD C:\Temp\
DIR
REM Si il y a un fichier log on appelle lo script VBS avec le message d'erreur en parametre
IF EXIST %logfile% (
call LogNTEvent.vbs
if %ERRORLEVEL% NEQ 0 (
LogNTEvent.vbs " Un probleme de script VBS est survenu sur server01 lors de la detection d'une erreur"
)
if %ERRORLEVEL% EQU 0 (
REM Log a new ERROR (0) entry
REM - the default setting (No additional arguments)
LogNTEvent.vbs " L application a echoue sur server01 avec l erreur suivante : %message% "
)
)
REM Renome le fichier log pour qu'il ne soit plus traite
move %logfile% %logfile%.old
pause
exit /b |
Quelqu’un aurait une idée, merci d’avance !!!
Cordialement.