pascalsch
Goto Top

VBS für Timestamp-Datei

Hallo Zusammen,

Bin ziemlich neu in der Welt des VBS und habe eine Frage hierzu, die ihr mir hoffentlich beantworten könnt.

Und zwar geht es um ein Triggersystem (für Druckjobs) das derzeit ein VBS eingebaut hat, was ein Fehlermail generiert, sobald das Triggersystem in einen Error läuft.
Funktioniert soweit sehr gut...
Jedoch startet das Triggersystem bei jedem Error nochmals zwei weitere Versuche, welche dann meistens wieder in den selben Error laufen, aber dies wurde vom Hersteller der Drucker so gewünscht.
Nun wird bei jedem Durchgang ein Fehlermail generiert, was bei jedem Fehler drei Mails bedeutet. Dies will ich jetzt auf ein Fehlermail reduzieren, da dies nur unnötig das Mailfach füllt...

Ich hätte mir gedacht, das ich eine Timestamp-TXT-Datei iwo erstelle, wo ich dann bei jedem gesendeten Fehlermail den Timestamp reinschreibe, danach wird mit einer IF-Abfrage geschaut, ob die letzten 10 Sekunden (Versuche geschehen sehr schnell hintereinander) ein Mail raus ist, wenn ja nichts senden, ansonsten schon wieder...
Habe schon etwas herumprobiert, aber ich hänge da komplett, weil wenn das File aus versehen gelöscht wird, sollte ein neues erstellt werden und nicht der Skript in einen Fehler laufen, da er das File nicht mehr findet...

Danke für eure Hilfe schon mal!

Schöne Grüße,
PascalSch

Content-Key: 382701

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

Printed on: April 26, 2024 at 14:04 o'clock

Member: SlainteMhath
SlainteMhath Aug 08, 2018 at 09:40:36 (UTC)
Goto Top
Moin,

Habe schon etwas herumprobiert, aber ich hänge da komplett,
Dann poste doch mal deinen Code, dann kann dir sicher jemand helfen.

lg,
Slainte
Member: emeriks
Solution emeriks Aug 08, 2018 updated at 10:19:28 (UTC)
Goto Top
Hi,
ich mache sowas mit einem Registry-Wert.

If DateDiff("s", GetFlag, Now) < 15 Then  
  MsgBox("Test")  
  WScript.Quit
End If

'hier die Aktionen ...  

'danach   
SetFlag
WScript.Quit

Sub SetFlag
  CreateObject("Wscript.Shell").RegWrite "HKEY_CURRENT_USER\Volatile Environment\MyFlag", FormatDateTime(Now, 2) & " " & FormatDateTime(Now, 3), "REG_SZ"  
End Sub

Function GetFlag
  On Error Resume Next
  Dim Flag : Flag = Now
  Flag = CDate(CreateObject("Wscript.Shell").RegRead("HKEY_CURRENT_USER\Volatile Environment\MyFlag"))  
  GetFlag = Flag
End Function

"MyFlag" anpassen.
"< 15" anpassen

E.
Member: PascalSch
PascalSch Aug 08, 2018 at 17:57:29 (UTC)
Goto Top
Hallo emeriks,

VIELEN DANK für den Skript, funktioniert einwandfrei und wie ich es wollte!


Schöne Grüße,
PascalSch