IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

tasklist inutilisable en script [Batch]


Sujet :

Scripts/Batch

  1. #1
    Membre éclairé
    Inscrit en
    Octobre 2005
    Messages
    908
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 908
    Par défaut tasklist inutilisable en script
    Bonjour,

    j'essaye de tester l'exécution d'un processus.
    Voici mes différents essais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    @echo off
    tasklist | find "firefox.exe" /c /i > NUL
    if errorlevel 0 echo running
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    @echo off
    tasklist > tl.txt
    if errorlevel 0 echo running
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    @echo off
    tasklist /fi "IMAGENAME eq firefox.exe" > tl.txt
    if errorlevel 0 echo running
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    @echo off
    tasklist | findstr -i firefox.exe
    if %errorlevel%==0 echo running
    J'ai souvent le processeur qui monte en flèche et la console CMD a le curseur qui clignote sans que la saisie soit possible...

    Par contre en "saisie directe" dans la console de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tasklist /fi "IMAGENAME eq firefox.exe" > tl.txt
    le fichier tl.txt se génère aussitôt avec le processus firefox.exe listé !

  2. #2
    Membre éclairé
    Inscrit en
    Octobre 2005
    Messages
    908
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 908
    Par défaut
    même problème avec l'utilisation d'un FOR :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for /f "tokens=1" %%i In ('tasklist /NH /FI "imagename eq firefox.exe"') do set ff=%%i
    If /i %ff%==firefox.exe (Echo It's RUNNING) Else (Echo Doh!)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for /f "tokens=2" %%a in (
       'tasklist /nh /fi "imagename eq firefox.exe"') do set pid=%%a
    echo PID %pid%
    CPU monte en puissance... pas de résultat dans la console.

  3. #3
    Expert confirmé
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 843
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 843
    Par défaut

    en ajoutant la commande pause
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    @echo off
    echo ****************************************************************************
    echo AVEC IMAGENAME
    tasklist /fi "IMAGENAME eq firefox.exe"
    pause
    echo.
    echo ****************************************************************************
    echo AVEC findstr
    tasklist | findstr "firefox.exe"
    echo ****************************************************************************
    pause
    echo.
    echo ****************************************************************************
    echo AVEC la boucle FOR et IMAGENAME pour avoir le PID
    for /f "tokens=2" %%a in ('tasklist /nh /fi "imagename eq firefox.exe"') do set pid=%%a
    echo PID %pid%
    echo ****************************************************************************
    pause
    echo.
    echo ****************************************************************************
    echo AVEC la boucle FOR et IMAGENAME pour avoir le Nom = Firefox
    for /f "tokens=1" %%i In ('tasklist /NH /FI "imagename eq firefox.exe"') do set ff=%%i
    If /i %ff%==firefox.exe (Echo It's RUNNING) Else (Echo Doh!)
    echo ****************************************************************************
    pause

  4. #4
    Membre Expert
    Avatar de I'm_HERE
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 013
    Par défaut
    Salut,

    Change le nom de ton fichier batch "tasklist" par un autre nom car il y a de forte chance qu'il appel lui même en boucle, tu peux changer le nom comme j'ai dit ou bien ajouter l'extension .EXE à la commande "tasklist.exe" ...je préfère la première solution car elle est la plus rapide.

  5. #5
    Membre éclairé
    Inscrit en
    Octobre 2005
    Messages
    908
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 908
    Par défaut
    Citation Envoyé par I'm_HERE Voir le message
    Change le nom de ton fichier batch "tasklist" par un autre nom car il y a de forte chance qu'il appel lui même en boucle,
    trop fort !!!
    Comment t'as deviné que mon script s'appelait tasklist.bat ????
    Effectivement après renommage... tout fonctionne !

    Merci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Quel est le meilleur script PHP de portail (CMS) ?
    Par Lana.Bauer dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 187
    Dernier message: 18/10/2012, 07h45
  2. Script et XMLmodule
    Par Ph. B. dans le forum XMLRAD
    Réponses: 4
    Dernier message: 27/01/2003, 16h10
  3. quel langage choisir pour faire de script sous windows
    Par pas05 dans le forum Langages de programmation
    Réponses: 7
    Dernier message: 18/11/2002, 22h42
  4. Réponses: 2
    Dernier message: 11/07/2002, 08h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo