Benjamin R. 0 Geschrieben 20. August 2014 Melden Teilen Geschrieben 20. August 2014 Hallo miteinander, ich habe ein Problem mit einem Visual Basic Script. Erstmal zur Funktion: Das Skript soll alle TXT-Files eines Ordners an die vorgesehenen EMail-Adressden versenden. Die Dateien haben den Namen der E-Mail (z.B. Das File b.reis wird an die EMail-Adressde b.reis@xxx.de gesendet) Danach verschiebt das Skript die Dateien die versendet wurden vom "Source-Ordner" in einen "Archiv Ordner". ' -------------------------'Ordner in dem die TXT Dateien liegenFOLDER_TXT = "D:\test"'Ordner in dem Unterordner mit Datum erstellt werden und die TXTs dort rein verschoben werdenFOLDER_MOVE = "D:\test\Archiv"'Pfad zur BLAT.exePATH_BLAT = "D:\BLAT\blat321\full\blat.exe"'Mailserverdaten:SMTP_SENDER = "sender@mail.de"SMTP_SERVER = "EXCHANGESERVER"SMTP_USERNAME = "SMTP_USERNAME"SMTP_PASSWORD = "SMTP_PASSWORD"' -------------------------Set fso = WScript.CreateObject("Scripting.Filesystemobject")strTXTs = ""For Each file In fso.GetFolder(FOLDER_TXT).Files If LCase(fso.GetExtensionName(file.Path)) = "txt" Then strName= LCase(fso.GetBaseName(file.Path)) 'für jedes TXT eine einzelene Mail veschicken sendNewMailViaBlat SMTP_SENDER,strName & "@mail","Dies ist eine vollends sinnlose Email","Dies ist eine vollends sinnlose Email mit TXT's im Anhang", """" & file.Path & """",SMTP_SERVER,SMTP_USERNAME,SMTP_PASSWORD If strTXTs <> "" Then strTXTs = strTXTs & ",""" & file.Path & """" Else strTXTs = """" & file.Path & """" End If End IfNext 'TXTs in einen Ordner mit dem aktuellen Datum verschieben For Each txt In Split(strTXTs,",",-1,1) txt = Replace(txt,"""","",1,-1,1) dateFolder = FOLDER_MOVE & "\" & FormatDateTime(Now(),vbShortDate) If Not fso.FolderExists(dateFolder) Then fso.CreateFolder(dateFolder) End If fso.MoveFile txt , dateFolder & "\" Next'End IfFunction sendNewMailViaBlat(strFrom,strTo,strSubject,strBody,strAttachments,strSMTPServer,strSMTP_USER,strSMTP_PASS) Set objShell = CreateObject("WScript.Shell") objShell.Run """" & PATH_BLAT & """" & " -subject """ & strSubject & """ -body """ & strBody & """ -to " & strTo & " -f " & strFrom & " -server " & strSMTPServer & " -u """ & strSMTP_USER & """ -pw """ & strSMTP_PASS & """ -attach " & strAttachments ,0,True set objShell = NothingEnd Function Die mit orange markierte Zeile ist der angebliche Verursacher des Fehlers. Alles gar kein Thema, das Skript funktioniert einwandfrei. Jedoch nur auf meinem Rechner unter Windows 8. Versuche ich das Skript unter Windows Server 2008 R2 auszuführen kommt folgende Fehlermeldung: Hat da jemand eine Idee, woran das liegen könnte? Beste Grüße Benjamin Reis Zitieren Link zu diesem Kommentar
NilsK 2.938 Geschrieben 20. August 2014 Melden Teilen Geschrieben 20. August 2014 Moin, naja, sieht aus, als sei blat.exe dort nicht erreichbar. Gruß, Nils Zitieren Link zu diesem Kommentar
Benjamin R. 0 Geschrieben 20. August 2014 Autor Melden Teilen Geschrieben 20. August 2014 Hallo Nils, vielen Dank für die schnelle Antwort. Du hattest recht, da war noch ein Fehler im Pfad. (Shame on me :( ) Allerdings habe ich jetzt einen anderen Fehler. Ich habe den File schon als ANSI kodiert. Kann es sein, dass der Fehler hierdurch entsteht? Ich habe gegoogelt und gesehen, dass es so eigentlich funktionieren sollte. Wenn ich die Kodierung auf UTF8 einstelle kommt der selbe Fehler. Beste Grüße Benjamin Reis Okay, soweit kein Thema.. der hat mir aus irgendeinem, mir unerfindlichen Grund, die ganze Kodierungschose verhauen... Funktioniert also jetzt. :) Zitieren Link zu diesem Kommentar
zahni 554 Geschrieben 20. August 2014 Melden Teilen Geschrieben 20. August 2014 (bearbeitet) Manchmal stimmt die Kodierung bestimmter Sonderzeichen nicht, wenn man etwas per Copy&Paste von einer Webseite kopiert. Das sieht dann optisch korrekt aus. Es ist aber ein Unterschied, ob man ' , ` oder ´ benutzt ;) bearbeitet 20. August 2014 von zahni 1 Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.