Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.
habe mal eine Frage! Brauche eine Batchdatei, die mir in dem Ordner C:\Temp alle darinbefindlichen Datein auf das Änderungsdatum überprüft und die Dateien, die älter als 7 Tage sind mit eine E-Mail schicken soll!
Hier dein Code. Kopier den Kram in eine .vb Datei. Passe die Zeile zum Mailversand an deine Gegebenheiten an.
Die .vb Datei dann kompilieren. Der Compiler heisst vbc.exe und liegt im Ordner
C:\WINDOWS\Microsoft.NET\Framework\v3.5 oder
C:\WINDOWS\Microsoft.NET\Framework\v2.0 falls du 3.5 noch nicht installiert hast.
Dann hast du deine .exe Datei.
Imports System.IO
Imports System.Net.Mail
Module Module1
Sub Main()
Dim myFileArray = My.Computer.FileSystem.GetFiles("C:\Temp")
Console.WriteLine("Folgende Dateien sind älter als 7 Tage und werden per Mail versendet:")
For Each File As String In myFileArray
Dim ModifyDate = My.Computer.FileSystem.GetFileInfo(File).LastWriteTime.Date.AddDays(7)
If Mid((ModifyDate - Now.Date).ToString, 1, 1) = "-" Then
'Älter als 7 Tage und muss verschickt werden
Console.WriteLine(File)
'Email Versand
Dim message As New MailMessage("Absender@abc.de", "Empfänger@xyz.de", "Mailthema", "Mailtext")
Dim emailClient As New SmtpClient("IP oder Servername von deinem Mailserver")
Dim attachment1 = New Attachment(File)
message.Attachments.Add(attachment1)
emailClient.Send(message)
End If
Soweit funktioniert das, nur er schreibt mir mehrere Mails! Am besten wäre alles in einer Mail!
Zudem soll er nicht die Dateien an die Mail anhängen, sondern es soll nur eine Textdatei in der Mail als Anhang dran sein, mit den Dateinamen (die in meinem Fall dann älter als 7 Tage sind)!
Wie ist die entsprechende Funktion dafür?
Danke :-)
Ich werde mal noch ein bisschen rumprobieren, aber wäre nett, wenn du morgen mal das Ergebnis hier posten könntest, falls ich es nicht hinbekommen sollte!
Soo.. hier wird nur noch 1 Mail verschickt. Darin ist keine Textdatei mit den Namen, sondern die Namen sind als Text im Mail direkt enthalten:
Imports System.IO
Imports System.Net.Mail
Module Module1
Sub Main()
Dim myFileArray = My.Computer.FileSystem.GetFiles("C:\Temp")
Dim MessageText As String = ""
Console.WriteLine("Folgende Dateien in C:\Temp sind älter als 7 Tage:") : Console.WriteLine()
For Each File As String In myFileArray
Dim ModifyDate = My.Computer.FileSystem.GetFileInfo(File).LastWriteTime.Date.AddDays(7)
If Mid((ModifyDate - Now.Date).ToString, 1, 1) = "-" Then
'Älter als 7 Tage und muss verschickt werden
Console.WriteLine(File)
MessageText = MessageText & File & vbCrLf
End If
Next File
'Email Versand
Dim message As New MailMessage("Absender@abc.de", "Empfänger@xyz.de", "Files die älter als 7 Tage sind", MessageText)
Dim emailClient As New SmtpClient("IP deines Mailservers oder Servername")
emailClient.Send(message)
End Sub
End Module