Partage
  • Partager sur Facebook
  • Partager sur Twitter

Récupérer une variable et la comparer "BATCH"

A l'aide :)

    16 octobre 2018 à 10:06:26

    Bonjour à tous ! 

    Je travail actuellement sur un petit script en batch où je me casse la tête depuis quelques jours.... 

    Pour vous expliquer rapidement: 

    Je récupère un processus et je vérifie s'il existe bien.

    Si le processus n'existe pas je ne fais rien

    Et si le processus existe récupérer les "Ko" utilisé dans la mémoire "RAM" par le processus

    Si le processus utilise plus de 50 000 Ko 

    afficher un message d'alerte et choisir si l'on veut le redémarrer ? 

    Voici à quoi ressemble mon script batch en espérant trouver de l'aide MERCI BEAUCOUP ! :D

    @echo off

    color 70

    :menu

    echo ---------------------------------------------

    echo -- Vérification des bourrages de processus --

    echo ---------------------------------------------

    echo.

    echo 1.VERIFICATION DES Processus

    echo 2.test

    echo.

    set /p reponse="Quel programme voulez-vous executer ?"

    If /i "%reponse%"=="1" goto :VerifProcess

    If /i "%reponse%"=="2" goto :batch2

    if %reponse% NEQ 1 goto :erreur 

    if %reponse% NEQ 2 goto :erreur

    :VerifProcess

    echo.

    set /p processg="ENTREZ UN PROCESSUS//"

    set process=%processg%

    tasklist | findstr /i %processg%% 

    if %ERRORLEVEL% == 0 echo appli en cours d'execution

    if %ERRORLEVEL% == 1 echo appli en arret ou n'existe pas

    if "%ERRORLEVEL%" == 0 goto :pp

    if "%ERRORLEVEL%" == 1 goto :pp

    REM echo. for /f "delims=" %%i in ('tasklist | findstr /i Ko') do echo %%i "j'ai essayé d'intégrer sa mais sa reste une petite idéé...."

    pause

    echo.

    pause

    cls

    echo 1.VERIFICATION DES Processus

    echo 2.test

    echo 3.menu

    set /p reponse="Quel programme voulez-vous executer ?"

    If /i "%reponse%"=="1" goto :VerifProcess

    If /i "%reponse%"=="2" goto :batch2

    If /i "%reponse%"=="3" goto :menu

    :pp

    echo -- test ok ... --

    :erreur

    echo.

    echo ------------------------------------------

    echo -- votre recherche ne correspond a rien --

    echo ------ Veuillez rentrer votre choix ------

    echo ------------------------------------------

    echo.

    pause

    cls

    goto :menu

    :batch2 

    echo ----------------------------------------

    echo -- Aucun programme pour le moment ... --

    echo ----------------------------------------

    pause

    cls

    goto :menu

    -
    Edité par ErnestGzs 16 octobre 2018 à 10:12:42

    • Partager sur Facebook
    • Partager sur Twitter
      16 octobre 2018 à 11:58:11

      Bonjour,

      Pense à utiliser les balises code '</>' du forum.

      Je pense que ceci devrait te convenir :

      for /f "tokens=5" %%i in ('tasklist ^| findstr /i %processg% ^| findstr " Ko$"') do echo %%i


      Attention tu déclare la variable process mais tu ne t'en sert pas.

      Au niveau de tes if pense à utiliser les opérateurs EQU/NEQ/GTR etc surtout quand il s'agit de comparer des nombres.

      Voici plusieurs façons de récupérer la mémoire utilisé par un programme :

      http://support.moonpoint.com/os/windows/commands/batch/showmemusage.php

      https://codeblog.vurdalakov.net/2013/10/get-amount-of-memory-used-by-process-in-a-batch-file.html

      -
      Edité par Zaibai 16 octobre 2018 à 12:01:19

      • Partager sur Facebook
      • Partager sur Twitter
        16 octobre 2018 à 12:00:01

        Bonjour, 

        Merci pour le code je vais essayer et ça ! 

        • Partager sur Facebook
        • Partager sur Twitter

        Récupérer une variable et la comparer "BATCH"

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown