Batch Aide

Bonjour, j'aurais besoin d'aide pour faire un batch file qui me permettrait de chercher dans un fichier txt si une valeur est plus grande que «0».
@echo off
>nul find "Detected: <0" log.txt && (
color c
echo Un ou des Virus ont ete detectes !
) || (
color 0
echo Aucun Virus n'a ete detecte
)
pause
Je sais que mon code n'est pas bon, je veux seulement montrer ce que j'aimerais faire.
Merci.

6 réponses

  1. salut,

    donne moi la ligne exacte qi contient le mot"Detected" et je te fais ça..
    1. En fait, il y a plusieurs lignes...

      Memory Processes Detected: 0
      (No malicious items detected)

      Memory Modules Detected: 0
      (No malicious items detected)

      Registry Keys Detected: 0
      (No malicious items detected)

      Registry Values Detected: 0
      (No malicious items detected)

      Registry Data Items Detected: 0
      (No malicious items detected)

      Folders Detected: 0
      (No malicious items detected)

      Files Detected: 0
      (No malicious items detected)

      Merci d'avance.
      1. test ça :

        -----------------------------------------------------------------------------------------

        @echo off

        erase tmp.txt 2>nul

        for /f "tokens=2 delims=:" %%i in ('type log.txt ^| find "Detected"') do echo %%i >>tmp.txt
        for /f "tokens=1 delims= " %%i in (tmp.txt) do if %%i GTR 0 goto ko

        echo Aucun Virus n'a ete detecte
        PAUSE
        exit 0

        :ko
        color c
        echo Un ou des Virus ont ete detectes !
        PAUSE
        exit 1

        ------------------------------------------------------------------------------------------

        tiens moi au jus...
        1. Ça fonctionne parfaitement, merci beaucoup!

          Sinon est-ce tu pourrais m'expliquer le rôle du tmp.txt svp?

          Merci!
          1. en fait il n'est pas forcément utile...
            on peut faire comme ceci sinon:

            ------------------------------------------------------------------------------

            @echo off

            for /f "tokens=2 delims=:" %%i in ('type log.txt ^| find "Detected"') do for /f "tokens=1 delims= " %%j in ('echo %%i') do if %%j GTR 0 goto ko

            echo Aucun Virus n'a ete detecte
            PAUSE
            exit 0

            :ko
            color c
            echo Un ou des Virus ont ete detectes !
            PAUSE
            exit 1

            ------------------------------------------------------------------------------

            j'avais fait ça vite fait alors j'ai cherché la facilité haha..
            Ce nouveau code est beaucoup mieux et ne créé pas de ficheir temporaire.
            Tu comprends ce code??