Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Test de fonctionnement d'un exécutable

15 réponses
Avatar
Mikel83
Bonjour!

Est-il possible dans un simple script DOS de vérifier si un exéctable donné
est en cours de fonctionnement?

--
Cordialement, Mikel

10 réponses

1 2
Avatar
Gilles LAURENT
"Mikel83" a écrit dans le message
de news:
| Bonjour!

Bonjour,

| Est-il possible dans un simple script DOS de vérifier si un exéctable
| donné est en cours de fonctionnement?

Ci-dessous le script VBScript 'isProcRunning.vbs" permettant de
déterminer si un processus est en cours d'exécution.

+++ Usage
>cscript isProcRunning.vbs <nom_du_processus>

+++ Exemple
>cscript isProcRunning.vbs notepad.exe

Note : La variable d'environnement errorlevel est fixée comme suit :
%errorlevel% = 0 si le script batch n'est pas en cours d'exécution
%errorlevel% = 1 si le script batch est en cours d'exécution

Pour tester dans un script batch si le processus notepad.exe est en
cours d'exécution :
cscript //nologo isProcRunning.vbs notepad.exe || echo en cours
d'exécution ...

--- Coupez ici : isProcRunning.vbs ---

Option Explicit

' déclaration des variables
Dim oWMI

' initialisation des objets
Set oWMI = GetObject ("winmgmts:rootcimv2")

' requête WMI
WScript.Quit oWMI.ExecQuery ( _
"Select * From Win32_Process " & _
"Where Name='" & WScript.Arguments (0) & "'").Count

--- Coupez ici : isProcRunning.vbs ---

--
Gilles LAURENT
http://glsft.free.fr
Me contacter : http://cerbermail.com/?zoTY7ZkLcD
Avatar
Mikel83
Merci pour votre réponse! Je vais mettre en oeuvre.--
Cordialement, Mikel


"Gilles LAURENT" wrote:

"Mikel83" a écrit dans le message
de news:
| Bonjour!

Bonjour,

| Est-il possible dans un simple script DOS de vérifier si un exéctable
| donné est en cours de fonctionnement?

Ci-dessous le script VBScript 'isProcRunning.vbs" permettant de
déterminer si un processus est en cours d'exécution.

+++ Usage
>cscript isProcRunning.vbs <nom_du_processus>

+++ Exemple
>cscript isProcRunning.vbs notepad.exe

Note : La variable d'environnement errorlevel est fixée comme suit :
%errorlevel% = 0 si le script batch n'est pas en cours d'exécution
%errorlevel% = 1 si le script batch est en cours d'exécution

Pour tester dans un script batch si le processus notepad.exe est en
cours d'exécution :
cscript //nologo isProcRunning.vbs notepad.exe || echo en cours
d'exécution ...

--- Coupez ici : isProcRunning.vbs ---

Option Explicit

' déclaration des variables
Dim oWMI

' initialisation des objets
Set oWMI = GetObject ("winmgmts:rootcimv2")

' requête WMI
WScript.Quit oWMI.ExecQuery ( _
"Select * From Win32_Process " & _
"Where Name='" & WScript.Arguments (0) & "'").Count

--- Coupez ici : isProcRunning.vbs ---

--
Gilles LAURENT
http://glsft.free.fr
Me contacter : http://cerbermail.com/?zoTY7ZkLcD





Avatar
Méta-MCI
Bonsoir !


On en a parlé, il n'y a pas très longtemps.

En plus du script de Gilles, il est possible de tester une simple ligne de
commande.

Exemple, avec la calculatrice :

wmic process where name="calc.exe" list full |find "CommandLine"

Ceci est facile à mettre dans un batch.
Dans l'exemple donné, on récupère la ligne de commande qui a servi à lancer
l'exécutable ("CommandLine"). Il est aussi possible de récupérer le PID
("Handle" ou "ProcessId"), ou d'autres infos.


@+

Michel Claveau
Avatar
Méta-MCI
Re

Il y a encore plus simple :
tasklist |find /I "calc.exe"

nuit

MCI
Avatar
Fred
dans : news:,
Méta-MCI écrivait :

Bonsoir !


Bonsoir,

En plus du script de Gilles, il est possible de tester une simple
ligne de commande.

Exemple, avec la calculatrice :

wmic process where name="calc.exe" list full |find "CommandLine"


Je vois que cela est intégré dans Server 2003 (wmic)
Peut-on le télécharger et l'utiliser avec d'autres systèmes ?

Sinon, on peut aussi utiliser ce principe avec tasklist (absent de XP
home cependant)

--
Fred
http://www.cerbermail.com/?3kA6ftaCvT

Avatar
Fred
dans : news:%237LS$,
Méta-MCI écrivait :

Re

Il y a encore plus simple :
tasklist |find /I "calc.exe"



Oui,
Et l'avantage du find par rapport à l'utilisation des diverses options
du tasklist, c'est qu'il affecte errorlevel.
Je suppose que Mikel83 veut utiliser tout cela dans un batch.

--
Fred
http://www.cerbermail.com/?3kA6ftaCvT

Avatar
Gilles LAURENT
"Méta-MCI" a écrit dans le message de
news:%237LS$

Bonsoir Michel,

| Il y a encore plus simple :
| tasklist |find /I "calc.exe"

Excellent !!

--
Gilles LAURENT
http://glsft.free.fr
Me contacter : http://cerbermail.com/?zoTY7ZkLcD
Avatar
MC
Re !

wmic est présent dans XP-pro.
Je ne sais pas pour XP-home.
ça n'est pas dans W2K (peut-on l'ajouter ?)

Pour tasklist, l'utilitaire se copie bien de Pro ==> home (et W2k ?)

Par contre, ça ne marchera pas sous MS/Dos 2.11

--
@-salutations

Michel Claveau
Avatar
Fred
dans : news:,
MC écrivait :

Re !

wmic est présent dans XP-pro.
Je ne sais pas pour XP-home.


Non, c'est pour cela que je te posais la question. Pour Xp Pro je dois
attendre demain !
J'avais un doute car une recherche sur wmic chez MS renvoie sur le site
Server 2003.

ça n'est pas dans W2K (peut-on l'ajouter ?)

Pour tasklist, l'utilitaire se copie bien de Pro ==> home (et W2k ?)


Je crois qu'il existe sous 2000 (?) et je l'ai effectivement copié sur
mon XP home à partir d'un xp pro.
(Sous home, je n'avais que tskill à la place de taskkill que j'ai copié
aussi, dans le même genre.)

Par contre, ça ne marchera pas sous MS/Dos 2.11


Ciel, je vais devoir faire évoluer mon «parc» !

--
Fred
http://www.cerbermail.com/?3kA6ftaCvT

Avatar
Jean-Claude BELLAMY
Dans le message :,
Fred a pris la peine d'écrire ce qui suit :
dans : news:,
[...]
ça n'est pas dans W2K (peut-on l'ajouter ?)

Pour tasklist, l'utilitaire se copie bien de Pro ==> home (et W2k ?)


Je crois qu'il existe sous 2000 (?)
NON!

(je viens de tester à l'instant)
C:>tasklist
'tasklist' n'est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.

Et on ne peut pas copier TASKLIST depuis un XP vers un W2K, car si on
l'exécute (sous W2K) on obtient cette injure :

"Erreur : L'ordinateur cible doit exécuter Windows XP ou une version
ultérieure."

[...]
Par contre, ça ne marchera pas sous MS/Dos 2.11


Ciel, je vais devoir faire évoluer mon «parc» !


:-) :-) :-) :-) :-) :-)



--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP]
http://www.bellamyjc.org ou http://jc.bellamy.free.fr


1 2