Bonjour,
Quelqu'un connaitrait-il une méthode pour fixer un temps limite d'exécution d'un fichier .bat ?
Et si la deadline est atteinte, mettre une trace dans un fichier (au cas où la méthode ferait directement un 'exit')
Merci![]()
Bonjour,
Quelqu'un connaitrait-il une méthode pour fixer un temps limite d'exécution d'un fichier .bat ?
Et si la deadline est atteinte, mettre une trace dans un fichier (au cas où la méthode ferait directement un 'exit')
Merci![]()
Tu n'as aucune méthode simple pour ça. Le principe, c'est de lancer ton batch via un CMD /C, récupérer le PID du processus engendré via tasklist, vérifier au bout du délai demandé s'il est encore actif ou pas, et s'il l'est, flinguer le processus via taskkill.
Sachant qu'en plus, c'est quand même très très crasseux d'arrêter un batch de cette manière : il serait préférable de modifier le batch de façon à ce qu'il sache s'arrêter de lui-même au besoin...
Mac LAK.
___________________________________________________
Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.
Sources et composants Delphi sur mon site, L'antre du Lak.
Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.
Rejoignez-nous sur : ► Serveur de fichiers [NAS] ► Le Tableau de bord projets ► Le groupe de travail ICMO
Oui, je sais bie nque c'est crade comme méthode.
Mais je vois pas d'autres moyen
Y aurait-il un exemple pour effectuer cela ? j'ai vu ceci :
Mais problème : il semble ne pas tenir compte de la consigne de délai.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 @echo off set app=mTest.bat set limit=10 if not "%1"=="" goto Delay echo %Date% - %time% : Début > Launcher.log start %0 %app% echo %Date% - %time% : Fin >> Launcher.log goto :eof ======================== :Delay ping localhost -n %limit% > nul taskkill /im /f %app% echo %Date% - %time% : Délai dépassé >> Launcher.log exit
![]()
Ok...
En fait, ayant copié-collé ce bout de code sur internet, y a pas mal de chose que je ne comprend pas, comme :
Code : Sélectionner tout - Visualiser dans une fenêtre à part if not "%1"==""etc ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part start %0
La doc étant très pauvre en batch, je n'arrive pas à trouver comment on teste la durée d'exécution d'un processus.![]()
%0 et %1 sont les paramètres de ton script.
Si ton script s'appelle "Demo.bat" et que tu fais Démarrer > Exécuter > Demo.bat toto titi.
Alors %0 sera égal à toto et %1 à titi.
Partager