VB Skript startet nicht per Windows 10 Aufgabenplanung
Hallo zusammen,
ich habe ein VB Skript, welches ich manuel ausführen kann und es läuft ohne Probleme.
Das würde ich gerne alle 2 Tage automatisiert um 00 Uhr per Windows Aufgabenplanung starten - doch das klappt irgendwie nicht und ich finde den Fehler nicht.
Vielleicht könnt ihr mir hier helfen?
Windows 10 x64
"Stefanseiner" ist mein einziger, lokaler Benutzer.
Hier der komplette Inhalt des Skripts (ist nicht von mir, ich nutze es nur)
Vielleicht findet jemand den Fehler und kann mir helfen?
Danke schonmal im Voraus
Stefan
ich habe ein VB Skript, welches ich manuel ausführen kann und es läuft ohne Probleme.
Das würde ich gerne alle 2 Tage automatisiert um 00 Uhr per Windows Aufgabenplanung starten - doch das klappt irgendwie nicht und ich finde den Fehler nicht.
Vielleicht könnt ihr mir hier helfen?
Windows 10 x64
"Stefanseiner" ist mein einziger, lokaler Benutzer.
Hier der komplette Inhalt des Skripts (ist nicht von mir, ich nutze es nur)
'*******************************************************
'
'Download Script zum automatisierten Download des Wärme-
'pumpenfiles Proclog von Luxtronic WP.Einbinung in Logon
'Script oder scheduler.
'
'coded by Heiko Friedemann 2016 V1.0
'
'*******************************************************
dim UrlWP, strStorePath, UserName 'as String
dim intDeadLine 'as integer
dim Dl 'as Boolean
dim xHttp: Set xHttp = createobject("Microsoft.XMLHTTP")
dim bStream: Set bStream = createobject("Adodb.Stream")
'Definition der Variablen
'Pfad der Wärmepumpe und der Datei
UrlWP = "http://192.168.1.27/NewProc"
'Pfad wo die Datei abgelegt werden soll OHNE \ und Dateinamen
strStorePath = "C:\Users\Stefanseiner\Desktop\Nextcloud\Haus Eppelborn\Infos+Projekte\Heizung\01 - Wärmepumpe\Logs"
'Zeit nach der die Routine abgebrochen wird in Sekunden (hier 10 Minuten)
intDeadLine = 600
'Ermittlung des Abbruchzeitpunkts
TimerCorrection = 0
ForcedTermination = Timer + intDeadLine
if ForcedTermination > 86400 then 'Prüfen ob die Deadline in
'den nächsten Tag fällt
ForcedTermination = ForcedTermination - 86400
TimerCorrection = 86400
end if
set objFileSys=CreateObject("Scripting.FileSystemObject")
'wiederholtes prüfen ob das Ablageverzeichnis da ist,
'so lange bis es da ist oder die Deadline erreicht ist
Do
if objFileSys.FolderExists(strStorePath & "\") Then exit do
if Timer - TimerCorrection > ForcedTermination then
set objFileSys = Nothing
wscript.quit
End If
wscript.sleep (1000)
Loop
Set wsShell = WScript.CreateObject("WScript.Shell")
UserName = wsShell.ExpandEnvironmentStrings("%USERNAME%")
'Generieren des Dateinamens für die Ablage
'im Format ProclogYYYYMMDD.dat
Dateiname = "Proclog" & DatePart("yyyy", Now) & Right(String(2, "0") & _
DatePart("m", Now), 2) & Right(String(2, "0") & _
DatePart("d", Now), 2) & ".dta"
'Die Schleife wird so lange durchlaufen bis die
'Logdatei im Ordner ist oder die Deadline erreicht ist.
Do
If Not objFileSys.FileExists(strStorePath & "\" & Dateiname) Then
if Timer - TimerCorrection > ForcedTermination then
set objFileSys = Nothing
Set wsShell = Nothing
wscript.quit
End If
'die Wärmepumpendatei wird geöffnet und heruntergeladen
xHttp.Open "GET", UrlWP, False
xHttp.Send
'die Ablagedatei wird geöffnet, mit dem Ihnalt
'der Wärmepumpendatei gefüllt und gespeichert.
with bStream
.type = 1 '//binary
.open
.write xHttp.responseBody
'Diese locale Zwischenspeicherung ist um einen Datenverlust
'beim Verbindungsabbruch bei wackeligen Netzwerken zu vermeiden.
.savetofile "C:\Users\" & UserName & "\" & Dateiname, 2 '//overwrite
end with
'Umkopieren der lokalen Datei zum endgültigen Ablageplatz
objFileSys.MoveFile "C:\Users\" & UserName & "\" & Dateiname, strStorePath & "\"
dl = true 'die Downloadroutine ist durchlaufen
wscript.sleep (10000) '10 Sekunden bis zum nächsten Versuch
else
'wenn die Downloadroutine durchlaufen ist öffnet sich der Explorer mit dem Ablageverzeichnis
'if dl then wsShell.Run ("Explorer.exe " & strStorePath )
set objFileSys = Nothing
Set wsShell = Nothing
exit do
End If
Loop
Vielleicht findet jemand den Fehler und kann mir helfen?
Danke schonmal im Voraus
Stefan
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 1823079278
Url: https://administrator.de/contentid/1823079278
Ausgedruckt am: 24.11.2024 um 05:11 Uhr
9 Kommentare
Neuester Kommentar
In die Aufgabe eine .cmd legen, welche das VB Skript aufruft.
Mehr dazu : stackoverflow.com/questions/29663480/windows-task-scheduler-doesnt-run-vbscript
Gruß
OpSec
Mehr dazu : stackoverflow.com/questions/29663480/windows-task-scheduler-doesnt-run-vbscript
Gruß
OpSec
Zitat von @Stefanseiner:
So, ich habe nun eine Batchdatei zum AUfrufen der VB, aber es klappt noch immer nicht.
Wenn ich die Batch manuel ausführe dann läuft das VB Skript einwandfrei durch, aber über die Aufgabenplanung passiert nichts
So, ich habe nun eine Batchdatei zum AUfrufen der VB, aber es klappt noch immer nicht.
Wenn ich die Batch manuel ausführe dann läuft das VB Skript einwandfrei durch, aber über die Aufgabenplanung passiert nichts
Hallo,
.bat oder .cmd ?
Wie rufst du das VB Skript auf, vorallem den Pfad ? ( Auf Quoting bei Leerzeichen im Namen achten )
Ereignis der letzten Ausführung, bei manuellem Start der Aufgabe?
alternativ
cmd
/c start cscript //nologo "c:\pfad\zu dem\vb skript.vb"
Gruß OpSec
Hallo,
versuche es wie bereits erwähnt als .cmd, hat schon Wunder gewirkt.
alternativ wie o.g.
Ich rate hier lediglich ins Blaue. Das
wäre interessant
Gruß
OpSec
versuche es wie bereits erwähnt als .cmd, hat schon Wunder gewirkt.
alternativ wie o.g.
- Programm : cmd
- Argumente : /c start cscript //nologo "C:\Users\Stefanseiner\Desktop\Nextcloud\Haus Eppelborn\Infos+Projekte\Heizung\01 - Wärmepumpe\Logs\WP_Log_Download.vbs"
Ich rate hier lediglich ins Blaue. Das
Ereignis der letzten Ausführung, bei manuellem Start der Aufgabe?
wäre interessant
Gruß
OpSec