VBS Error Handling Funktioniert nicht, wie Gewünscht
Hallo Zusammen
Ich musste ein Script erstellen, welches Daten ausserhalb einer dynamischen Zeitspanne löscht.
Dieses erweiterte ich mit einer E-Mail Benachrichtigung, sobald ein Fehler entsteht.
Beim Test bekam ich nur eine Nachricht, wenn ich nicht alle Werte eingegeben hatte.
Da meine Vermutung beim Error Handling liegt bin ich ein wenig Ratlos, denn ich habe das Gleiche schon mit einem 'Goto'-Befehl ausprobiert...
Nun noch der Code:
Habt Ihr vielleicht eine Idee, wie ich das Problem lösen kann?
Vielen Dank für eure Antwort
Freundliche Grüsse
Gansterjo2
Ich musste ein Script erstellen, welches Daten ausserhalb einer dynamischen Zeitspanne löscht.
Dieses erweiterte ich mit einer E-Mail Benachrichtigung, sobald ein Fehler entsteht.
Beim Test bekam ich nur eine Nachricht, wenn ich nicht alle Werte eingegeben hatte.
Da meine Vermutung beim Error Handling liegt bin ich ein wenig Ratlos, denn ich habe das Gleiche schon mit einem 'Goto'-Befehl ausprobiert...
Nun noch der Code:
'===============
' Error Handler
'===============
On Error Resume Next
'==============
' Werte Setzen
'==============
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objMessage = CreateObject("CDO.Message")
' Werte für E-Mail setzen
'-------------------------
Set objMessage = CreateObject("CDO.Message")
objMessage.Subject = "Error on Script loeschen_x-x.vbs"
objMessage.From = "errorman@loeschen.ch"
objMessage.To = "Gansterjo2@hispeed.ch"
objMessage.Textbody = "Es hat einen Fehler im Script gegeben bitte schauen Sie beiligendes Logscript an..."
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "YYY.YYY.YYY.YYY"
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
objMessage.Configuration.Fields.Update
'=============
' Main Script
'=============
if WScript.Arguments.Count = 2 Then
strOrdner = WScript.Arguments.item(0)
intTage = CInt(WScript.Arguments.item(1))
else
objMessage.Textbody = "loeschen_Wichtig.vbs Verzeichnis AnzahlTage"
objMessage.send
msgbox ("Syntax: loeschen_Wichtig.vbs Verzeichnis AnzahlTage")
end if
Set objOrdner = objFSO.GetFolder(strOrdner)
intZahl = 0 'Die Variable wird auf 0 gesetzt
For Each objDatei In objOrdner.Files 'For Each Schleife, die jeden Ordner im Verzeichnis analysiert.
diff = DateDiff("d", objDatei.DateCreated, Now)
If LCase(objFSO.GetExtensionName(objDatei.name)) = "xyz" Then
if diff > intTage Then
objDatei.Delete
intZahl = intZahl + 1
End If
End if
Next
For Each objUnterordner In objOrdner.SubFolders
diff = DateDiff("d", objUnterordner.DateCreated, Now)
Doku = Doku & vbCrLf & DateDiff("d", objUnterordner.DateCreated, Now) & vbTab & objUnterordner.Name
If diff > intTage Then
objUnterordner.Delete
intOrdner = intOrdner + 1
End If
Next
'WScript.Echo Mid(Doku, 3)
wscript.quit
'=================
' Error Handler 2
'==================
if Err.Number <> 0 then
objMessage.send
end if
Habt Ihr vielleicht eine Idee, wie ich das Problem lösen kann?
Vielen Dank für eure Antwort
Freundliche Grüsse
Gansterjo2
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 206297
Url: https://administrator.de/contentid/206297
Ausgedruckt am: 22.11.2024 um 21:11 Uhr
2 Kommentare
Neuester Kommentar