blackangel
Goto Top

Email versenden wenn neue Dateien vorhanden

Hallo,

ich suche ein Tool, das mir einen Ordner überwacht und sobald es neue Dateien gibt eine Email versendet.
Es sollte möglichst Freeware sein.
Es muss nichts umfangreiches sein, einfach nur eine Email versenden sobald neue Dateien vorhanden sind.

Content-Key: 60096

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

Printed on: April 19, 2024 at 09:04 o'clock

Member: Dani
Dani May 29, 2007 at 15:50:27 (UTC)
Goto Top
Hallo Blackangel,
ich bring mal einen Batchvorschlag ein. Und zwar baut diese Batchdatei auf die Blat.exe auf.

Ich denke, man kann sich hier das Archivbit zu nutze machen. Sprich, es wird immer überprüft, ob da Bit gesetzt ist - Ja: Neue Datei oder geändert - Nein: Alt

Hier mal ein Schnipsel:
@echo off & setlocal
::
set src_dir=C:\text\123
::
::Archivbit wird gelöscht und Dateiname wird in Logdatei geschrieben.
for /f "delims=" %%a in ('dir /aa /b "%src_dir%"') do (  
attrib -a %%a
echo %%a >> "C:\log\new_files.txt"  
::
::Verschickt eine Mail mit Textdatei als Anhang
"c:\tools\blat.exe" "C:\log\new_files.txt" -server mailserver -to ziel@firma.de -f sender@firma.de -s Betreff  
::
::Löscht die Logdatei
del "C:\log\new_files.txt"  
Ungeteste Skizze! Die Pfade musst du natürlich noch anpassen. Und die entsprechenden Variablen auch.
Edit 29.05.2007 19:48
Peinlich, peinlich aber wahr: Ich habe in der Schleife den dir Befehl vergessen.


Gruß
Dani
Mitglied: 36539
36539 May 29, 2007 at 17:42:08 (UTC)
Goto Top
Hallo,
Welches Betriebssystem?
Um was für einen Ordner geht es - um den Posteingang in einem Mailprogramm oder wo?
Wenn ja welches Mailprogramm?

Muss man sowas immer erst erfragen?

"Wie man Fragen richtig stellt"
How to correctly ask a question

gruß
Member: Blackangel
Blackangel May 29, 2007 at 17:45:07 (UTC)
Goto Top
Es geht um einen Dateiordner, Betriebsystem ist Windows Xp Prof und Windows2003SBS
Member: Blackangel
Blackangel Jun 01, 2007 at 11:21:26 (UTC)
Goto Top
Edit 29.05.2007 19:48
Peinlich, peinlich aber wahr: Ich habe in
der Schleife den dir Befehl vergessen.

Wo muss der dann hin?
Kenn mich mit Batch Befehlen nicht so aus.
Wäre nett wenn du mir das noch beantworten würdest.

Gruß
Tim
Member: Dani
Dani Jun 01, 2007 at 11:23:01 (UTC)
Goto Top
Moin,
ich habe ihn oben in den Code eingefügt!


Gruß
Dani
Member: Blackangel
Blackangel Jun 01, 2007 at 13:15:21 (UTC)
Goto Top
Servus und danke für die Rückantwort,

leider funktioniert das nicht!

Hiermal mein Code

@echo off & setlocal
::
set src_dir=C:\TEST
::
::Archivbit wird gelöscht und Dateiname wird in Logdatei geschrieben.
for /f "delims=" %%a in ('dir /aa /b "%src_dir%"') do (attrib -a %%a)  
echo %%a >> "C:\log\new_files.txt"  
::
::Verschickt eine Mail mit Textdatei als Anhang
"c:\tools\blat.exe" "C:\log\new_files.txt" -server 10.2.232.32 -to admin@hbme.intern -f admin@hbme.intern -s TEST  
::
::Löscht die Logdatei
del "C:\log\new_files.txt"  

Die Ordner habe ich mal erstellt konnte aber nichts feststellen, das überhaupt ne LOG Datei geschrieben wird.

Gruß
Tim

Edit:
funktioniert jetzt soweit hat eine Klammer gefehlt (attrib -a %%a).
Aber ich bekomme jetzt ins Logfile und in die Email %a mehr nicht als TEXT.
Member: Blackangel
Blackangel Jun 01, 2007 at 14:41:21 (UTC)
Goto Top
So hab jetzt mal wieder ein wenig gerabeitet anscheinend war noch ein Fehler drin, aber da ist immer noch irgendwo einer!
Hier mal mein Code:
@echo off & setlocal
::
set src_dir=C:\TEST
::
::Archivbit wird gelöscht und Dateiname wird in Logdatei geschrieben.
for /f "delims=" %%a in ('dir /aa /b "%src_dir%"') do (attrib "%src_dir%\%%a")  
echo %%a >> "C:\log\new_files.txt"  
::
::Verschickt eine Mail mit Textdatei als Anhang
"c:\tools\blat.exe" "C:\log\new_files.txt" -server 10.2.232.32 -to admin@hbme.intern -f admin@hbme.intern -s TEST  
::
::Löscht die Logdatei
del "C:\log\new_files.txt"  

Irgendwie gibt er den Wert"%%a" nicht ans echo weiter bzw. schreibt sich auch nicht in die Logfile!
Member: Dani
Dani Jun 01, 2007 at 15:03:32 (UTC)
Goto Top
Hallo,
du solltest die echo - Zeile natürlich in die Schleife miteinbeziehen. face-smile
So sollte es klappen:
@echo off & setlocal
::
set src_dir=C:\TEST
::
::Archivbit wird gelöscht und Dateiname wird in Logdatei geschrieben.
for /f "delims=" %%a in ('dir /aa /b "%src_dir%"') do (  
attrib "%src_dir%\%%a"  
echo %%a >> "C:\log\new_files.txt"  
)
::
::Verschickt eine Mail mit Textdatei als Anhang
"c:\tools\blat.exe" "C:\log\new_files.txt" -server 10.2.232.32 -to admin@hbme.intern -f admin@hbme.intern -s TEST  
::
::Löscht die Logdatei
del "C:\log\new_files.txt"  
Ungetestete Skizze!


Schönes Wochenende
Dani
Member: Blackangel
Blackangel Jun 01, 2007 at 17:00:38 (UTC)
Goto Top
Super jetzt klappts hatte es vorher erst nochmal für der Schleife eine eigene gemacht wo die Log erstellt wird und dann die Attribut änderung, aber so ist es natürlich besser!
Wie kann ich das jetzt am besten alle 10 Minuten ablaufen lassen?
Jede Menge Task erstellen wäre ja schwachsinn!
Was meint ihr mit diesem Wait Befehl ist das sinnvoll oder doch was anderes?

Gruuß
Tim
Member: Dani
Dani Jun 01, 2007 at 18:54:38 (UTC)
Goto Top
Super jetzt klappts hatte es vorher erst nochmal für der Schleife eine eigene gemacht wo die
Log erstellt wird und dann die Attribut änderung, aber so ist es natürlich besser!
Schön zuhören, dass es funktioniert.

Wie kann ich das jetzt am besten alle 10 Minuten ablaufen lassen?
Ich würde einfach den GOTO & ping - Befehl dazu benutzen. Somit kannst du per Hand diesen Batch starten. Der Batch wäre dann einen Endlosschleife!
@echo off & setlocal
::
set src_dir=C:\TEST
::
:start
::Archivbit wird gelöscht und Dateiname wird in Logdatei geschrieben.
for /f "delims=" %%a in ('dir /aa /b "%src_dir%"') do (  
attrib "%src_dir%\%%a"  
echo %%a >> "C:\log\new_files.txt"  
)
::
::Verschickt eine Mail mit Textdatei als Anhang
"c:\tools\blat.exe" "C:\log\new_files.txt" -server 10.2.232.32 -to admin@hbme.intern -f admin@hbme.intern -s TEST  
::
::Löscht die Logdatei
del "C:\log\new_files.txt"  

ping 127.0.0.1 -n 600 >nul
goto start
Durch das goto springt er wieder hoch zur Sprungmarke. Ungetestete Skizze...


Gruß
Dani
Member: Blackangel
Blackangel Jun 02, 2007 at 09:12:29 (UTC)
Goto Top
So habe das ganze noch ein bisschen verfeinert:
setlocal
::
set src_dir=V:\
::
:start
::Archivbit wird gelöscht und Dateiname wird in Logdatei geschrieben
echo Folgende neue Werbedateien sind jetzt bereitgestellt:  > "C:\log\new_files.txt"  
for /f "delims=" %%a in ('dir /aa /b "%src_dir%"') do (  
attrib -a "%src_dir%\%%a"  
echo %%a >> "C:\log\new_files.txt"  
)
for %%F in (C:\log\new_files.txt) do set groesse=%%~zF
if %groesse% geq 58 goto mail 
if not %groesse% geq 57 goto wait
:mail
::Verschickt eine Mail mit Textdatei als Anhang
"c:\tools\blat.exe" "C:\log\new_files.txt" -server mailserver -to mailempf. -f mailsender -s betreff  
::
::Löscht die Logdatei
del "C:\log\new_files.txt"  
::
:wait
::wait Befehl
ping 127.0.0.1 -n 600 >nul
goto start
Member: Dani
Dani Jun 02, 2007 at 21:16:43 (UTC)
Goto Top
G' Abend,
sehr schön...sieht richtig gut aus. Ich möchte dich bitten, den Beitrag als "How can I mark a post as solved?" zu markieren.
Danke...


Gruß
Dani