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 :

Récupéré dans un fichier texte valeur supérieur à X [Batch]


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2018
    Messages : 49
    Par défaut Récupéré dans un fichier texte valeur supérieur à X
    Bonjour,

    J'aimerais savoir si c'est possible de crée un batch pour récupéré toute les valeurs supérieur à X.

    Je m'explique j'ai un batch qui lance un ping pendant X temps, puis je crée un log et un résultat log, dans le résultat log j'aimerais qu'il me donne toutes les valeurs supérieur ou égale à 5ms par exemple, j'ai réussi a faire pour des valeurs fixe.

    Code Batch : 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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    @echo off
    Echo ###############
    Echo.
    Echo.
    set /p Client=Nom du poste:
    Echo.
    set /p VAR=IP de la cible ?
    Echo.
     
    :lancement
    Echo Cr‚ation du fichier %client%_vers_%var%.log
    set addr=%VAR%
    tracert %addr% >>%client%_vers_%var%.log
    set serie=1
     
    :debut
    cls
    date /t >>%client%_vers_%var%.log
    time /t >>%client%_vers_%var%.log
    if %serie%==2 goto fin
    cls
    Date /t
    time /t
    echo serie %serie% sur 2
    ping %addr% -n 30 >>%client%_vers_%var%.log
    set /A serie=%serie%+1
    set serie 
    goto debut
     
     
    :fin
    for /F "tokens=1,2* delims=: " %%A in ('find /C "D‚lai d'attente" %client%_vers_%var%.log') DO (
        if %%C GTR 0 (
            echo Nombre d'occurences Delai depasse: %%C >>Resultat_%client%_vers_%var%.log
        )
    )
     
    for /F "tokens=1,2* delims=: " %%A in ('find /C "Impossible" %client%_vers_%var%.log') DO (
        if %%C GTR 0 (
            echo Nombre d'occurences impossible de joindre: %%C >>Resultat_%client%_vers_%var%.log
        )
    )
     
    for /F "tokens=1,2* delims=: " %%A in ('find /C "1ms TTL" %client%_vers_%var%.log') DO (
        if %%C GTR 0 (
            echo Nombre d'occurences en dessous de 1 ms: %%C >>Resultat_%client%_vers_%var%.log
        )
    )
     
    for /F "tokens=1,2* delims=: " %%A in ('find /C "1 ms TTL" %client%_vers_%var%.log') DO (
        if %%C GTR 0 (
            echo Nombre d'occurences 1 ms: %%C >>Resultat_%client%_vers_%var%.log
        )
    )

    Merci d'avance de votre aide en vous souhaitant également une bonne soirée.

  2. #2
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    Exemple simple. Je n'ai pas pu tester avec des ping supérieur à 999.

    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    @echo off
     
    set /a num=0
    FOR /F "tokens=7 delims== " %%a IN ('findstr "TTL=" "ping.txt"') DO if %%a GTR 5 set /a num+=1
    echo Nombre d'occurences au dessus de 5 ms: %num%
     
    pause

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2018
    Messages : 49
    Par défaut
    Bonjour,

    je te remercie de ton aide par contre j'ai du faire une erreur mais quand je tape ton code à la suite du mien, dans résultat j'ai

    Nombre d'occurences au dessous de 1 ms: 10
    Nombre d'occurences au dessus de 2 ms: 10

    Alors que tout les ping sont inférieur à 1ms.

    Code Batch : 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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    @echo off
    SET RepName=%date:~0,2%-%date:~3,2%-%date:~6,4%
    Echo.
    Echo.
    set /p Client=Nom du poste:
    Echo.
    set /p VAR=IP de la cible ?
    Echo.
     
    :lancement
    Echo Création de C:\Superping %RepName%\%client%_vers_%var%.log
    mkdir "C:\Superping %RepName%\"
    set addr=%VAR%
    tracert %addr% >>"c:\Superping %RepName%\%client%_vers_%var%.log"
    set serie=1
     
    :debut
    cls
    date /t >>"c:\Superping %RepName%\%client%_vers_%var%.log"
    time /t >>"c:\Superping %RepName%\%client%_vers_%var%.log"
    if %serie%==2 goto fin
    cls
    Date /t
    time /t
    echo serie %serie% sur 500
    ping %addr% -n 10 >>"c:\Superping %RepName%\%client%_vers_%var%.log"
    set /A serie=%serie%+1
    set serie 
    goto debut
     
     
    :fin
    for /F "tokens=1,2* delims=: " %%A in ('find /C "Délai d'attente" "c:\Superping %RepName%\%client%_vers_%var%.log"') DO (
        if %%C GTR 0 (
            echo Nombre d'occurences dÚlai d'attente dÚpassÚ: %%C >>"c:\Superping %RepName%\Resultat_%client%_vers_%var%.log"
        )
    )
     
    for /F "tokens=1,2* delims=: " %%A in ('find /C "Impossible de joindre" "c:\Superping %RepName%\%client%_vers_%var%.log"') DO (
        if %%C GTR 0 (
            echo Nombre d'occurences impossible de joindre l'h¶te: %%C >>"c:\Superping %RepName%\Resultat_%client%_vers_%var%.log"
        )
    )
     
    for /F "tokens=1,2* delims=: " %%A in ('find /C "1ms TTL" "c:\Superping %RepName%\%client%_vers_%var%.log"') DO (
        if %%C GTR 0 (
            echo Nombre d'occurences au dessous de 1 ms: %%C >>"c:\Superping %RepName%\Resultat_%client%_vers_%var%.log"
        )
    )
     
    for /F "tokens=1,2* delims=: " %%A in ('find /C "1 ms TTL" "c:\Superping %RepName%\%client%_vers_%var%.log"') DO (
        if %%C GTR 0 (
            echo Nombre d'occurences Úgale Ó 1 ms: %%C >>"c:\Superping %RepName%\Resultat_%client%_vers_%var%.log"
        )
    )
    set /a num=0
    FOR /F "tokens=7 delims== " %%a IN ('findstr "TTL=" "c:\Superping %RepName%\%client%_vers_%var%.log"') DO if %%a GTR 2 set /a num+=1
    echo Nombre d'occurences au dessus de 2 ms: %num% >>"c:\Superping %RepName%\Resultat_%client%_vers_%var%.log"

  4. #4
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    Je demande à voir le fichier "c:\Superping %RepName%\%client%_vers_%var%.log"

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2018
    Messages : 49
    Par défaut
    Voici les deux fichier :

    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
    26
    27
    28
    D‚termination de l'itin‚raire vers XXXXXX.fr [XX.XX.XX.XX]
    avec un maximum de 30 sautsÿ:
    
      1    <1 ms    <1 ms    <1 ms  XXXXXX.fr [XX.XX.XX.XX]
    
    Itin‚raire d‚termin‚.
    29/03/2019 
    09:38
    
    Envoi d'une requˆte 'ping' sur XXXXXX.fr [XX.XX.XX.XX] avec 32 octets de donn‚esÿ:
    R‚ponse de XX.XX.XX.XXÿ: octets=32 temps<1ms TTL=128
    R‚ponse de XX.XX.XX.XXÿ: octets=32 temps<1ms TTL=128
    R‚ponse de XX.XX.XX.XXÿ: octets=32 temps<1ms TTL=128
    R‚ponse de XX.XX.XX.XXÿ: octets=32 temps<1ms TTL=128
    R‚ponse de XX.XX.XX.XXÿ: octets=32 temps<1ms TTL=128
    R‚ponse de XX.XX.XX.XXÿ: octets=32 temps<1ms TTL=128
    R‚ponse de XX.XX.XX.XXÿ: octets=32 temps<1ms TTL=128
    R‚ponse de XX.XX.XX.XXÿ: octets=32 temps<1ms TTL=128
    R‚ponse de XX.XX.XX.XXÿ: octets=32 temps<1ms TTL=128
    R‚ponse de XX.XX.XX.XXÿ: octets=32 temps<1ms TTL=128
    
    Statistiques Ping pour XX.XX.XX.XX:
        Paquetsÿ: envoy‚s = 10, re‡us = 10, perdus = 0 (perte 0%),
    Dur‚e approximative des boucles en millisecondes :
        Minimum = 0ms, Maximum = 0ms, Moyenne = 0ms
    29/03/2019 
    09:38
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Nombre d'occurences au dessus de 2 ms: 10

  6. #6
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    Oui quel galère ce batch

    Essai ceci :
    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    @echo off
    SETLOCAL ENABLEDELAYEDEXPANSION
     
    set /a num=0
    for /F "tokens=7 delims==^<^> " %%a in ('findstr "TTL=" "test.txt"') DO (
    	set vartmp=%%a
    	set /a vartmp=!vartmp:ms=!
    	if !vartmp! GTR 2 set /a num+=1
    )
     
    echo %num%
     
    pause

    Ps : C'est normal les caractères bizarres ? ÿ

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

Discussions similaires

  1. Récuperer une valeur dans un fichier texte
    Par sucrepop dans le forum Langage
    Réponses: 6
    Dernier message: 05/06/2007, 15h01
  2. Lecture de valeurs dans un fichier texte (txt)
    Par zerbault dans le forum Fortran
    Réponses: 2
    Dernier message: 22/01/2007, 10h29
  3. recuperer valeur dans un fichier texte
    Par darksnake dans le forum VBScript
    Réponses: 6
    Dernier message: 15/09/2006, 20h16
  4. Réponses: 2
    Dernier message: 08/06/2006, 13h48
  5. Réponses: 4
    Dernier message: 01/12/2005, 23h13

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