Rheinländer Posted December 31, 2011 Share Posted December 31, 2011 Hallo zusammen, ich verwende die aktuelle Version des RS und habe ein (kleines) Problem mit einer selbst erstellten Aufgabe nach Aufnahme, die standardmäßig nach jeder Aufnahme durchgeführt werden soll. Die erstellte Aufgabe ruft die Software TSdoctor (ebenfalls in der aktuellen Version) per Commandline um eine Überprüfung der aufgenommenen Datei durchzuführen. Der Aufruf und die Übergabe der Parameter an TSdoctor funktioniert einwandfrei, allerdings kommt bei mir recht häufig die Fehlermeldung, dass die zu überprüfende Datei noch von einem anderen Prozess verwendet wird, und der TSdoctor die Überprüfung nicht durchführen kann. Mir scheint es so, als ob der RS die Datei noch nicht freigegeben hat. Nun meine Frage: Besteht die Möglichkeit bei einer (standardmäßigen) Aufgabe nach Aufnahme eine zeitliche Verzögerung mitzugeben damit sichergestellt wird, dass der RS die Datei wirklich nicht mehr verwendet? Ich denke 30 Sekunden sollten ausreichend sein. Vielleicht kann mein Problem auch anders gelöst werden. Für Vorschläge wäre ich sehr dankbar. Ich wünsche allen Forumsmitgliedern und dem ganzen DVBViewer Entwicklerteam ein gesundes und erfolgreiches Jahr 2012 !!! Gruss Rheinländer Rhein Link to comment
semko Posted December 31, 2011 Share Posted December 31, 2011 Das Problem könntest du lösen, indem du in der erstellten Aufgabe nicht den TSDoctor direkt aufrufst sondern eine Batchdatei, in der der TSDoctor gestartet wird. Dort kannst du dann mit dem timeout Befehl eine Verzögerung einbauen, bevor der TSD gestartet wird. Aufgabe: Dateiname Pfad\cmd.exe Parameter /c Pfad\tsd.cmd "{SOURCE_FILE}" Batch tsd.cmd: timeout /t 30 Pfad\TSDoctor "%1" ... Link to comment
Rheinländer Posted January 1, 2012 Author Share Posted January 1, 2012 Danke für den Hinweis. Dies hat so aber leider nicht funktioniert. Ich verwende den RS noch unter XP und da wird der TIMEOUT-Befehl noch nicht unterstützt. Allerdings konnte ich mir mit einem kleinen Trick helfen: Einfach nach 30 Sekunden einen Ping an Localhost Das ganze Script sieht so aus: ping -n 30 localhost> nul C:\Programme\Cypheros\TSDoctor\TSDoctor.exe %1 %2 Funktioniert einwandfrei. Gruss Rheinländer Link to comment
Recommended Posts