Test application lancée (débutant) - Shell/Batch - Programmation
Marsh Posté le 04-09-2005 à 08:22:10
Win XP edition perso
Et en fait j'aimerai que la solution soit la plus polyvalente possible...
En fait, j'ai installé Movamp sur une clef USB et un forum PHP pour une application perso.
J'ai un fichier bat qui me lance tout ça.
Ca marche.
Seul soucis, si je lance une nouvelle fois le bat alors Movamp est une nouvelle fois lancé. Et etc...
D'où la question initiale: j'aimerai détecté que Movamp est déjà lancé afin de ne pas le lancer une nouvelle fois.
P.S: voilà mon bat actuel,
@Echo off
Cls
Echo Chargement en cours...
@Echo off
START Movamp\movamp.exe
PING 127.0.0.1 >nul
START http://localhost/upload/
Marsh Posté le 05-09-2005 à 09:59:17
Bonjour,
la commande tasklist permet de lister tous les processus actifs, il suffit donc de faire une condition sur la présence de ce programme.
ce qui donne par exemple :
tasklist | find "movamp.exe" /C /i > nul
if NOT ERRORLEVEL 1 goto waits
START Movamp\movamp.exe
PING 127.0.0.1 >nul
START http://localhost/upload/
:waits
color CF
echo .....ATTENTION!!!le programme est déjà démarré,
echo .....vous ne pouvez pas en lancer une autre....
pause
exit
Marsh Posté le 05-09-2005 à 20:32:20
Maclem a écrit : Win XP edition perso |
Oui, mais ça va rester du Windows (parce quand tu postes ici, on peut penser aux scripts sous Linux aussi).
Sous XP Pro, tu as tasklist. Si tu veux utiliser ton batch sous un autre OS, il faut récupérer pslist sur sysinternals.com par exemple et le mettre sur ta clé.
Marsh Posté le 05-09-2005 à 21:42:44
Merci!
pour pascale73:
La solution fonctionne, mais est-ce que cela fonctionne sous d'autres version de Windows?
Que signifie les options /C et /i de la commande tasklist?
pour nglechau:
Je rappelle je débute...
est-il possible de détailler:"il faut récupérer pslist sur sysinternals.com"? je le récupère et qu'est ce que j'en fait?
Marsh Posté le 05-09-2005 à 21:47:41
pslist est un programme. Tu peux le télécharger sur le site indiqué, le copier sur ta clé USB et l'utiliser au lieu de tasklist sur les versions de Windows dont tasklist n'existe pas.
Pour connaître les options d'une commande, fais à l'invite de commandes :
nom_de_commande /?
ou consulte l'aide de Windows.
Le fait que tu as tasklist.exe par défaut veut dire que tu as XP Pro et non pas XP Fam comme laissait penser ta description "Win XP edition perso".
Marsh Posté le 06-09-2005 à 07:58:05
tasklist est pour xp, malheureusement les polyvalences de commande sont difficiles...
quant au /c et /i, ce sont des commutateurs pour finf
/c
Compte les lignes qui contiennent la chaîne spécifiée et affiche le total.
/i
Spécifie que la recherche ignore la casse.
si tu ne mets pas le i il te faudra veiller à l'écriture "majuscule/minuscule".
Marsh Posté le 06-09-2005 à 20:49:13
wackevat a écrit : Le fait que tu as tasklist.exe par défaut veut dire que tu as XP Pro et non pas XP Fam comme laissait penser ta description "Win XP edition perso". |
En réalité, c'est parce que je passe d'un pc XP Pro à un XP Fam...
D'où la recherche de polyvalence!
Je vais de ce pas essayer pslist...
Merci pour votre support,
Je vous tiens au courant,
à+
Marsh Posté le 03-09-2005 à 21:46:01
Comment tester si une application est lancée ou non?
Je souhaiterai réalisé un batch du type:
Si appli lancée alors action1 sinon action2.
Merci pour votre aide...