von ProgDVB-User » 15 Okt 2008, 20:15
Bei einigen Verbesserungsvorschlägen konnte ich mich dazu entschliessen diese umzusetzen. Anbei der neue Code, welcher lediglich in eine Datei, z.B. namens "Aufnahme.BAT" zu kopieren wäre. Alle Einstellungen können nun im TV-Browser vorgenommen werden.
Für eventuelle Fehlermeldungen oder Verbesserungsvorschläge bin ich weiterhin dankbar.
Code: Alles auswählen
@ECHO OFF
REM Für weiterführende Informationen siehe ab Sprungmarke :INFO oder diese Datei einfach starten.
REM Ab hier werden nach und nach die Variablen verarbeitet und ausgewertet, welche TV-Browser an diese BAT-Datei übergibt.
cls
SET AUFGABE=%1%
REM Alle für Dateinamen verbotenen Sonderzeichen "<, >, :, /, \,|" die sich eventuell im Sendungstitel befinden könnten, werden durch Leerzeichen ersetzt.
REM Zuvor wird überprüft, ob überhaupt Parameter übergeben wurden.
SET TASK=%2%
IF %TASK%x == x GOTO INFO
SET TASK=%TASK:<= %
SET TASK=%TASK:>= %
SET TASK=%TASK::= %
SET TASK=%TASK:/= %
SET TASK=%TASK:\= %
SET TASK=%TASK:|= %
REM Anführungszeichen entfernen, Aufteilung in einen START- und einen STOP-Timer
SET TASK=%TASK:~1,-1%
SET SENDUNGSTITEL=%TASK%
SET TASKSTART=%TASK% (TVB START)
SET TASKSTOP=%TASK% (TVB STOP)
REM Prüfe, ob TV-Browser den Befehl zum Löschen bereits geplanter TASK's gegeben hat
IF "%Aufgabe%"=="STOP" GOTO TASK_Loeschen
REM Schrägstriche aus dem Aufnahmedatum für die Dateibezeichnung in Punkte umwandeln
SET DatumDatei=%4%
SET DatumDatei=%DatumDatei:/=.%
REM aus der Variable SENDER, die Anführungsstriche entfernen, da TV-Browser diese mit übergibt
SET SENDER=%3%
SET SENDER=%SENDER:~1,-1%
REM die Variablen bezüglich der Start- und Endzeiten auswerten, sowie Benutzername und Passwort übergeben
SET DatumStart=%4%
SET ZeitStart=%5%
SET DatumEnde=%6%
SET ZeitEnde=%7%
SET BenutzerName=%8
SET Passwort=%9
REM die Variablen für ProgDVB übernehmen und von deren Anführungszeichen befreien
SHIFT
SHIFT
SET PROGDVB=%8
SET PROGDVB=%PROGDVB:~1,-1%
SET AUFNAHMEVERZEICHNIS=%9
SET AUFNAHMEVERZEICHNIS=%AUFNAHMEVERZEICHNIS:~1,-1%
REM Eine kurze Nachricht ausgeben.
ECHO Am %DatumStart% von %ZeitStart% Uhr bis %ZeitEnde% Uhr wird "%SENDUNGSTITEL%" auf "%SENDER%" aufgenommen.
ECHO.
REM an dieser Stelle wird der START- und der STOP-TASK in den Taskplaner eingetragen
REM Achtung: die Schrägstriche sind wichtig, da innerhalb von Anführungszeichen keine weiteren Anführungszeichen vorkommen dürfen, sondern lediglich \"
SCHTASKS /create /S %ComputerName% /RU %ComputerName%\%BenutzerName% /RP %Passwort% /SC EINMAL /TN "%TASKSTART%" /TR "\"%PROGDVB%\" /CH:\"%SENDER%\" /StartRecord:\"%AUFNAHMEVERZEICHNIS%%SENDUNGSTITEL% %DatumDatei% %ZeitStart%.mpg\" /MUTE /Minimize" /ST %ZeitStart% /SD %DatumStart%
SCHTASKS /create /S %ComputerName% /RU %ComputerName%\%BenutzerName% /RP %Passwort% /SC EINMAL /TN "%TASKSTOP%" /TR "\"%PROGDVB%\" /StopRecord /Exit" /ST %ZeitEnde% /SD %DatumEnde%
GOTO ENDE
:TASK_Loeschen
REM Aufnahmeplan aus dem Taskplaner loeschen und bei Bedarf den Aufnahmevorgang beenden
SCHTASKS /DELETE /S %ComputerName% /TN "%TASKSTART%" /F
SCHTASKS /DELETE /S %ComputerName% /TN "%TASKSTOP%" /F
GOTO ENDE
:INFO
ECHO ======================== ProgDVB-Plugin fuer TV-Browser ========================
ECHO Die angegebenen Parameter waren nicht korrekt!
ECHO Diese Datei darf nur vom TV-Browser gestartet werden.
ECHO.
ECHO Damit diese Datei mit TV-Browser und ProgDVB zusammenarbeitet,
ECHO muss hierfuer folgendes im TV-Browser eingestellt werden:
ECHO * unter Plugins - Aufnahmesteuerung - Geraete ist ein neues
ECHO "Standard-Treiber-Geraet zu erstellen (der Name ist egal)
ECHO * dieses neue Geraet konfigurieren u. unter Applikation diese BAT-Datei angeben
ECHO (diese sollte sich entweder im TV-Browser- oder ProgDVB-Verzeichnis befinden)
ECHO * PARAMETER: fuer das "Aufnehmen" folgende Zeilen eintragen:
ECHO.
ECHO START "{concat(title,"_-_",episode)}" "{channel_name}" {concat(leadingZero(start_day,"2"),"/",leadingZero(start_month,"2"),"/",leadingZero(start_year,"2"))} {concat(leadingZero(start_hour,"2"),":",leadingZero(start_minute,"2"),":00")} {concat(leadingZero(end_day,"2"),"/",leadingZero(end_month,"2"),"/",leadingZero(end_year,"2"))} {concat(leadingZero(end_hour,"2"),":",leadingZero(end_minute,"2"),":00")} {device_username} {device_password}
ECHO.
ECHO und fuer das "Loeschen" die folgende kurze Zeile eintragen:
ECHO STOP "{concat(title,"_-_",episode)}"
ECHO Seite 1 von 2 - bitte eine Taste druecken
PAUSE > NUL
cls
ECHO.
ECHO * SENDER: hier sind keine Aenderungen erforderlich, jedoch ist sicherzustellen,
ECHO dass die Sendernamen in ProgDVB mit denen im TV-Browser
ECHO uebereinstimmen (Hierzu sind eventuell in ProgDVB und/oder im
ECHO TV-Browser die Sendernamen zu bearbeiten.)
ECHO * Variablen: hier sind zwei Eintragungen vorzunehmen
ECHO - unter Variable Nr.1 ist in Zelle WERT der Speicherort von ProgDVB
ECHO einzutragen, z.B.: C:\Programme\ProgDVB.EXE
ECHO - unter Variable Nr.2 ist in Zelle WERT der Speicherort fuer die Aufnahmen
ECHO einzutragen, z.B.: C:\ oder C:\Aufnahme\
ECHO (der Eintrag ist unbedingt mit einem Schraegstrich abzuschliessen)
ECHO * Einstellungen:
ECHO - der Benutzername mit zugehoerigem Passwort ist einzutragen
ECHO (unter diesem erfolgt die Aufzeichung aus dem Taskplaner heraus)
ECHO - weiterhin ist es sinnvoll die Sendung eine Minute vor Beginn aufzuzeichnen,
ECHO sowie mindestens 10 Minuten laenger aufzuzeichnen als das offizielle Ende
ECHO (Thomas Gottschalk laesst gruessen ;-).
ECHO.
ECHO Seite 2 von 2 - bitte eine Taste druecken
pause
:ENDE
Bei einigen Verbesserungsvorschlägen konnte ich mich dazu entschliessen diese umzusetzen. Anbei der neue Code, welcher lediglich in eine Datei, z.B. namens "Aufnahme.BAT" zu kopieren wäre. Alle Einstellungen können nun im TV-Browser vorgenommen werden.
Für eventuelle Fehlermeldungen oder Verbesserungsvorschläge bin ich weiterhin dankbar.
[code]
@ECHO OFF
REM Für weiterführende Informationen siehe ab Sprungmarke :INFO oder diese Datei einfach starten.
REM Ab hier werden nach und nach die Variablen verarbeitet und ausgewertet, welche TV-Browser an diese BAT-Datei übergibt.
cls
SET AUFGABE=%1%
REM Alle für Dateinamen verbotenen Sonderzeichen "<, >, :, /, \,|" die sich eventuell im Sendungstitel befinden könnten, werden durch Leerzeichen ersetzt.
REM Zuvor wird überprüft, ob überhaupt Parameter übergeben wurden.
SET TASK=%2%
IF %TASK%x == x GOTO INFO
SET TASK=%TASK:<= %
SET TASK=%TASK:>= %
SET TASK=%TASK::= %
SET TASK=%TASK:/= %
SET TASK=%TASK:\= %
SET TASK=%TASK:|= %
REM Anführungszeichen entfernen, Aufteilung in einen START- und einen STOP-Timer
SET TASK=%TASK:~1,-1%
SET SENDUNGSTITEL=%TASK%
SET TASKSTART=%TASK% (TVB START)
SET TASKSTOP=%TASK% (TVB STOP)
REM Prüfe, ob TV-Browser den Befehl zum Löschen bereits geplanter TASK's gegeben hat
IF "%Aufgabe%"=="STOP" GOTO TASK_Loeschen
REM Schrägstriche aus dem Aufnahmedatum für die Dateibezeichnung in Punkte umwandeln
SET DatumDatei=%4%
SET DatumDatei=%DatumDatei:/=.%
REM aus der Variable SENDER, die Anführungsstriche entfernen, da TV-Browser diese mit übergibt
SET SENDER=%3%
SET SENDER=%SENDER:~1,-1%
REM die Variablen bezüglich der Start- und Endzeiten auswerten, sowie Benutzername und Passwort übergeben
SET DatumStart=%4%
SET ZeitStart=%5%
SET DatumEnde=%6%
SET ZeitEnde=%7%
SET BenutzerName=%8
SET Passwort=%9
REM die Variablen für ProgDVB übernehmen und von deren Anführungszeichen befreien
SHIFT
SHIFT
SET PROGDVB=%8
SET PROGDVB=%PROGDVB:~1,-1%
SET AUFNAHMEVERZEICHNIS=%9
SET AUFNAHMEVERZEICHNIS=%AUFNAHMEVERZEICHNIS:~1,-1%
REM Eine kurze Nachricht ausgeben.
ECHO Am %DatumStart% von %ZeitStart% Uhr bis %ZeitEnde% Uhr wird "%SENDUNGSTITEL%" auf "%SENDER%" aufgenommen.
ECHO.
REM an dieser Stelle wird der START- und der STOP-TASK in den Taskplaner eingetragen
REM Achtung: die Schrägstriche sind wichtig, da innerhalb von Anführungszeichen keine weiteren Anführungszeichen vorkommen dürfen, sondern lediglich \"
SCHTASKS /create /S %ComputerName% /RU %ComputerName%\%BenutzerName% /RP %Passwort% /SC EINMAL /TN "%TASKSTART%" /TR "\"%PROGDVB%\" /CH:\"%SENDER%\" /StartRecord:\"%AUFNAHMEVERZEICHNIS%%SENDUNGSTITEL% %DatumDatei% %ZeitStart%.mpg\" /MUTE /Minimize" /ST %ZeitStart% /SD %DatumStart%
SCHTASKS /create /S %ComputerName% /RU %ComputerName%\%BenutzerName% /RP %Passwort% /SC EINMAL /TN "%TASKSTOP%" /TR "\"%PROGDVB%\" /StopRecord /Exit" /ST %ZeitEnde% /SD %DatumEnde%
GOTO ENDE
:TASK_Loeschen
REM Aufnahmeplan aus dem Taskplaner loeschen und bei Bedarf den Aufnahmevorgang beenden
SCHTASKS /DELETE /S %ComputerName% /TN "%TASKSTART%" /F
SCHTASKS /DELETE /S %ComputerName% /TN "%TASKSTOP%" /F
GOTO ENDE
:INFO
ECHO ======================== ProgDVB-Plugin fuer TV-Browser ========================
ECHO Die angegebenen Parameter waren nicht korrekt!
ECHO Diese Datei darf nur vom TV-Browser gestartet werden.
ECHO.
ECHO Damit diese Datei mit TV-Browser und ProgDVB zusammenarbeitet,
ECHO muss hierfuer folgendes im TV-Browser eingestellt werden:
ECHO * unter Plugins - Aufnahmesteuerung - Geraete ist ein neues
ECHO "Standard-Treiber-Geraet zu erstellen (der Name ist egal)
ECHO * dieses neue Geraet konfigurieren u. unter Applikation diese BAT-Datei angeben
ECHO (diese sollte sich entweder im TV-Browser- oder ProgDVB-Verzeichnis befinden)
ECHO * PARAMETER: fuer das "Aufnehmen" folgende Zeilen eintragen:
ECHO.
ECHO START "{concat(title,"_-_",episode)}" "{channel_name}" {concat(leadingZero(start_day,"2"),"/",leadingZero(start_month,"2"),"/",leadingZero(start_year,"2"))} {concat(leadingZero(start_hour,"2"),":",leadingZero(start_minute,"2"),":00")} {concat(leadingZero(end_day,"2"),"/",leadingZero(end_month,"2"),"/",leadingZero(end_year,"2"))} {concat(leadingZero(end_hour,"2"),":",leadingZero(end_minute,"2"),":00")} {device_username} {device_password}
ECHO.
ECHO und fuer das "Loeschen" die folgende kurze Zeile eintragen:
ECHO STOP "{concat(title,"_-_",episode)}"
ECHO Seite 1 von 2 - bitte eine Taste druecken
PAUSE > NUL
cls
ECHO.
ECHO * SENDER: hier sind keine Aenderungen erforderlich, jedoch ist sicherzustellen,
ECHO dass die Sendernamen in ProgDVB mit denen im TV-Browser
ECHO uebereinstimmen (Hierzu sind eventuell in ProgDVB und/oder im
ECHO TV-Browser die Sendernamen zu bearbeiten.)
ECHO * Variablen: hier sind zwei Eintragungen vorzunehmen
ECHO - unter Variable Nr.1 ist in Zelle WERT der Speicherort von ProgDVB
ECHO einzutragen, z.B.: C:\Programme\ProgDVB.EXE
ECHO - unter Variable Nr.2 ist in Zelle WERT der Speicherort fuer die Aufnahmen
ECHO einzutragen, z.B.: C:\ oder C:\Aufnahme\
ECHO (der Eintrag ist unbedingt mit einem Schraegstrich abzuschliessen)
ECHO * Einstellungen:
ECHO - der Benutzername mit zugehoerigem Passwort ist einzutragen
ECHO (unter diesem erfolgt die Aufzeichung aus dem Taskplaner heraus)
ECHO - weiterhin ist es sinnvoll die Sendung eine Minute vor Beginn aufzuzeichnen,
ECHO sowie mindestens 10 Minuten laenger aufzuzeichnen als das offizielle Ende
ECHO (Thomas Gottschalk laesst gruessen ;-).
ECHO.
ECHO Seite 2 von 2 - bitte eine Taste druecken
pause
:ENDE
[/code]