Batch Aide

Batch -  
 Batch -
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. LUDO
     
    salut,

    donne moi la ligne exacte qi contient le mot"Detected" et je te fais ça..
    0
  2. Batch
     
    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.
    0
  3. LUDO
     
    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...
    0
  4. Batch
     
    Ça fonctionne parfaitement, merci beaucoup!

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

    Merci!
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. LUDO
     
    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??
    0