Script de MàJ automatique de grabTVfr (1 Viewer)

W

Windoo

Guest
J'ai posté récemment un pbm de màj du guide TV par grabtvfr pendant que mp est en marche.

Grabtvfr n'arrive pas à remplacer le fichier xmltv car windows prétend qu'il est déjà en cours d'utilisation.

Mon but étant de n'avoir jamais à màj manuellement le guide tv, j'ai retroussé mes manches et j'ai écrit un script (enfin adapté un script vbs que j'ai trouvé sur le net) et écrit un .bat :


Le script vbs d'abord. Il va rechercher "mediaportal.exe" dans la liste des process en cours pour le tuer.


Dim net,ProcessSet, Process
Set net = Wscript.CreateObject("WScript.Network")
Set shell = WScript.CreateObject("WScript.Shell")

ProcessName="mediaportal.exe"
Computer=Ucase(net.ComputerName)

Set ProcessSet=GetObject("winmgmts:{impersonationLevel=impersonate}!//" & Computer).InstancesOf _ ("Win32_process")
Trouve=false
for each Process in ProcessSet
If InStr(1,Process.Name, ProcessName, vbTextCompare)>0 Then
result=Process.terminate(0)
End If
Next

Wscript.quit


Puis le batch. pourquoi pas tout mettre ds le vbscript? ben pour être sur que mp se relance uniquement quand grabtvfr a fini. Ca doit etre possible en vbs, mais j'ai pas eu envie de chercher.

kill_mp
cd \Program Files\grabtvfr
grabtvfr
cd \Program Files\MediaPortal
mediaportal

Voilà. Le batch lance kill.vbs pour arrêter mp, puis lance grabtvfr, puis relance mp.
Il faudra peut-être adapter les chemin des dossiers d'install de mp et de grabtvfr.

J'ai programmé ça à 5h tous les jours. Je fais jamais d'enregistrement à cette heure-ci.

Ces 2 fichiers peuvent être placé dans n'importe quel dossier du disque C:

En espérant que ça pourra servir...
 
W

Windoo

Guest
J'ai oublié de préciser: La 1ère commande du batc kill_mp lance le vb script qu'on aura prit soin d'appeler kill_mp.vbs.
 
W

Windoo

Guest
Pour ceux que ca interressent, j'ai un script VBS unique qui s'occupe de tout (plus de .bat) :

Shell.CurrentDirectory reçoit le dossier d'instalaltion de grabtvfr et ensuite de MP
shell.run "GrabTvFr.exe", 1, true : le dernier paramètre provoque l'attente de la fin de la commande avant de poursuivre.

il faut probablement configurer l'antivirus pour ne pas bloquer les scripts.


### Début du script ###

Dim net,ProcessSet, Process
Set net = Wscript.CreateObject("WScript.Network")
Set shell = WScript.CreateObject("WScript.Shell")

ProcessName="mediaportal.exe"
Computer=Ucase(net.ComputerName)

Set ProcessSet=GetObject("winmgmts:{impersonationLevel=impersonate}!//" & Computer).InstancesOf _
("Win32_process")
Trouve=false
for each Process in ProcessSet
If InStr(1,Process.Name, ProcessName, vbTextCompare)>0 Then
result=Process.terminate(0)
End If
Next


Shell.CurrentDirectory="D:\GrabTvFr"
shell.run "GrabTvFr.exe", 1, true
Shell.CurrentDirectory="C:\Program Files\MediaPortal"
shell.run "MediaPortal.exe"

Wscript.quit

### Fin du script ###
 

Users who are viewing this thread

Top Bottom