Jump to content

VBS unter Windows Server 2008 R2


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

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 liegen

FOLDER_TXT = "D:\test"
'Ordner in dem Unterordner mit Datum erstellt werden und die TXTs dort rein verschoben werden
FOLDER_MOVE = "D:\test\Archiv"
'Pfad zur BLAT.exe
PATH_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 If
Next
    '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 If

Function 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 = Nothing
End 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:

3pOFlVZ.jpg

 

Hat da jemand eine Idee, woran das liegen könnte?

 

Beste Grüße

Benjamin Reis

Link zu diesem Kommentar

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.

9CMVFUv.png

 

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. :)

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...