mazza84
Goto Top

Ordnerinhalt mit Blat.exe überprüfen

Hallo,

ich möchte gerne in regelmäßigen Abständen (alle 30 Minuten) einen Ordner überprüfen, ob sich der Inhalt verändert hat. Indem Ordner befinden sich *.log dateien. Sobald eine Log Datei indem Ordner erstellt wurde, möchte ich gerne den Inhalt der Log-Datei an eine E-mail Adresse versenden.
Ist dies mit Blat.exe möglich oder empfehlt ihr ein anderes Tool?
Vielen Dank für eure Antworten

Content-Key: 136050

Url: https://administrator.de/contentid/136050

Ausgedruckt am: 29.03.2024 um 11:03 Uhr

Mitglied: 60730
60730 16.02.2010 um 10:49:41 Uhr
Goto Top
Moin,

blat ist ein Kommandozeilenmailer den man empfehlen kann.

Da du nicht schreibst - ob Ihr einen internen Mailserver habt, ist diese Empfehlung nicht aussagekräftig.

Und das man sich um den Blat/Bmail aufruf ein paar Zeilen Batch stricken muß - wäre eh klar.

Und zur Frage wie - in der Suche sollten so einige Treffer zu finden sein.

Gruß
Mitglied: micneu
micneu 16.02.2010 um 12:02:00 Uhr
Goto Top
schreib doch mal wie ist der dateiname?
ist der dateiname immer in einem bestimmten format z.b. log-xyz-abc.log?
auf welchem windows wird es laufen?
kannst du powershell einsetzen?
oder nur die cmd.exe?


gruß michael
Mitglied: mazza84
mazza84 16.02.2010 um 12:17:55 Uhr
Goto Top
der Dateiname lautet: BulkImport-+Datum+Uhrzeit.log
Es soll auf einer Windows 2003 Server 32-Bit Version laufen.

Powershell kann eingesetzt werden, ich habe allerdings keine Erfahrungen damit.


Wir setzen einen internen Mailserver Lotus Notes 6.5 ein.
Mitglied: 60730
60730 16.02.2010, aktualisiert am 18.10.2012 um 18:41:10 Uhr
Goto Top
Servus,

unter "Anleitungen zum Thema" findet man Batch Script zum erkennen einer Datei nach Datum und Übergabe des entsprechenden Dateinamens der aktuellsten Datei neuesten Datums und noch xxx weiteres.

Ich dachte, du hättest den Tipp meinerseits mit der Suche verstanden? bzw. ists ja nur ein paar cm mit dem Mausscroller nach unten und einen Klick weit weg...
Mitglied: micneu
micneu 16.02.2010 um 12:39:58 Uhr
Goto Top
ich habe es soweit erstellt unter windows 7:
nutze die powershell:

#   **************************************************************
#    einmal auf der powershell ausgeführt werden
#     "Set-ExecutionPolicy Unrestricted" 
#   **************************************************************
#   * Erstellt M.N. - POWERSHELL / Entwicklung   16.02.2010                   *
#   **************************************************************
$Mail1 = "test@test.de"  
$smtp = "192.168.0.228"  
$subj = "Test nachricht"  
$x="-noh2 -p default"  

$file = Get-ChildItem "M:\" -filter *.log | sort LastWriteTime -descend  
$filemail = $file | select -first 1
$filemail2 = $filemail | Select-Object Name
echo $filemail2
blatwin $filemail2 -to $eMail1 -f $smtpemail $subj $x

das mit dem mailen habe ich jetzt nicht getestet.
warscheinlich soll noch hinterlegt werden welche datei schon gesendet wurde?
könnte noch eingebaut werden....

gruß michael
Mitglied: micneu
micneu 17.02.2010 um 12:05:36 Uhr
Goto Top
habe es noch etwas optimiert.....
blatwin.exe kann nicht die daten verarbeiten die aus der powershell kommen
deshalb dieser ansatz...
#   **************************************************************
#    einmal auf der powershell ausgeführt werden
#     "Set-ExecutionPolicy Unrestricted"  
#   **************************************************************
#    sendmail funktion von 
#    http://www.roland-ehle.de/archives/437
#   **************************************************************
#   * Erstellt M.N. - POWERSHELL / Entwicklung   17.02.2010                   *
#   **************************************************************
# variablen deklarieren
$smtpserver = "192.168.0.228"  
$fromemail = "backup@xxx.de"  
$toemail = "test@mail.de"  
$betreff = "test mail mit text"  
$ziel = "c:\"  
$endung = "*.txt"  
$file = Get-ChildItem $ziel -filter $endung | sort LastWriteTime -descend
$filemail = $file | select -first 1
$filenamefull = $filemail.fullName
echo $filenamefull
$body = Get-Content "$filenamefull"  
sendmail $body $smtpserver $fromemail $toemail $betreff

function sendmail($body,$smtpserver,$fromemail,$toemail,$betreff) 
    {
    $SmtpClient = new-object system.net.mail.smtpClient
    $MailMessage = New-Object system.net.mail.mailmessage
    #$att = new-object Net.Mail.Attachment($filename)
    $SmtpClient.Host = "$smtpserver"  
    $mailmessage.from = "$fromemail"  
    $mailmessage.To.add("$toemail")  
    $mailmessage.Subject = “$betreff"   
    $MailMessage.IsBodyHtml = $true
    $mailmessage.Body = $body
    $smtpclient.Send($mailmessage)
}

gruß michael