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 :

svp aider moi pour un script comptage de fichier


Sujet :

Scripts/Batch

  1. #1
    Membre à l'essai
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Août 2013
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2013
    Messages : 15
    Points : 20
    Points
    20
    Par défaut svp aider moi pour un script comptage de fichier
    Bonjour ALL,

    Svp je suis admin réseau et mon chef me demande de rédiger un script qui permet de compter dans un répertoire le nombre de fichier enregistré par une application . je m'explique j'ai un répértoire qui s'appelle sauvegarde, alors il contient des fichiers :
    AAA1.txt
    AAA2.txt
    AAA3.txt
    AAA4.txt
    BBB1.txt
    BBB2.txt
    BBB3.txt
    BBB4.txt
    CCC1.txt
    CCC2.txt
    CCC3.txt

    donc j'aimerai que ce script me retourne la valeur 3 car pour nous AAA1 ,AAA2,AAA3,AAA4 c'est des fichier pour une seule base de donnée et BBB1 BBB2 BBB3 c'est une deuxiéme base de donnée et CCC1 CCC2 CCC3 c'est une 3 base de donnée

    donc au total j'ai 3 base de donnée . je reste a votre disposition pour toute information complémentaire et merci bcp

  2. #2
    Membre expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Points : 3 768
    Points
    3 768
    Par défaut
    Chaque base de donnee à un nom différente, ok
    Mais ces nom ont-ils une structure logique du type

    Comme dans ta description 3 Caractere + xnumero
    dans ce cas on pourrait tester les 3 premiers caractères.

    ou ces nom n'ont pas de structure logique.

    Enfin donne plus d'info !

    Amicalement

  3. #3
    Membre à l'essai
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Août 2013
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2013
    Messages : 15
    Points : 20
    Points
    20
    Par défaut
    Merci Sacha pour ta réponse.
    alors je détaille . j'ai un logiciel vranger qui me sauvegarde des bases de donné SQL du coup chaque jour il m'enregistre un fichier .bak comme par exemple avant hier il me donne un fichier AAA1.bak hier il me donne AAA2.bak aujourd'hui il me sauvegarde AAA3.bak et demain AAA4.bak tous ça c'est pour une base de donné par exemple A maintenant j'ai une deuxième base B que le logiciel il m'enregistre dans le méme répertoire bbb1.bak , bbb2.bak , bbb3.bak et bbb4.bak ensuite j'ai une 3éme base C que ce dérnier me sauvegarde ccc1.bak ,ccc2.bak.ccc3.bak,ccc4.bak donc au total j'ai que 3 base de donné or le logiciel ma enregistré 12 fichier . alors je veux que le script compte un seule fichier de chaque base de donné par exemple AAA1.bak et AAA2.bak et AAA3.bak et AAA4.bak je veux qu'il me compte juste 1 et non pas 4 .
    cordialement ,

    Citation Envoyé par sachadee Voir le message
    Chaque base de donnee à un nom différente, ok
    Mais ces nom ont-ils une structure logique du type

    Comme dans ta description 3 Caractere + xnumero
    dans ce cas on pourrait tester les 3 premiers caractères.

    ou ces nom n'ont pas de structure logique.

    Enfin donne plus d'info !

    Amicalement

  4. #4
    Membre chevronné
    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
    Points : 1 991
    Points
    1 991
    Par défaut
    salut,

    tu peux essayé ceci après l'avoir adapté pour ton cas:

    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
    29
    30
    @echo off
    setlocal enableDelayedExpansion
    
    pushd %1 || exit /b 9
    set /A n=i=x=0
    for %%a In (*) Do (
        for /f "delims=0123456789" %%b in ("%%~na") Do (
            set "item_!n!=%%~fa/%%b"
            set /A n+=1
          )  	
    )
    popd
    
    if not defined item_0 exit /b 8
    set "f=!item_%i%!"
    set "comp=%f%"
    :nextSection
    set /a x+=1
    echo(DB(%x%): [!f:*/=!]
    :nextItem
    echo(          %f:/=&rem %
    set /A i+=1
    set "f=!item_%i%!"
    if "!f:*/=!"=="!comp:*/=!" goto :nextItem
    set "comp=%f%"
    if %i% LSS %n% goto :nextSection
    
    endlocal
    pause
    exit /b 0
    et l'utiliser ainsi:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    >> countbkp.cmd "C:\Users\bkps"
    
    DB(1): [aaaa]
              C:\Users\bkps\aaaa1.bak
              C:\Users\bkps\aaaa2.bak
              C:\Users\bkps\aaaa3.bak
    DB(2): [bbbb]
              C:\Users\bkps\bbbb1.bak
              C:\Users\bkps\bbbb2.bak
    DB(3): [cccc]
              C:\Users\bkps\cccc1.bak

  5. #5
    Membre expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Points : 3 768
    Points
    3 768
    Par défaut
    Une autre solution :

    Tu dois modifier la variable $dir en y mettant le chemin du répertoire de sauvegarde de tes bases de données.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    @echo off&cls
    
    :::Le repertoire de travail
    
    set $dir="C:\Users\sauvegarde"
    
    setlocal enableDelayedExpansion
    for /f "delims=0123456789" %%a in ('dir %$dir%\*.bak /b/a-d') do (set base.%%~na = 1)
    for /f "delims=" %%a in ('set base.') do (echo %%a&set /a $bd+=1)
    echo NOMBRE DE BASE = !$bd!
    endlocal&pause
    Sortie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    C:\Users\Desktop\test > bd.bat
    
    base.aaa=1
    base.aab=1
    base.aaab=1
    base.bbb=1
    base.ccc=1
    NOMBRE DE BASE = 5

    Amicalement

  6. #6
    Membre à l'essai
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Août 2013
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2013
    Messages : 15
    Points : 20
    Points
    20
    Par défaut
    Salut I'm HERE
    j'ai eu ma réponse et ça correspond exactement a ce que je recherche . je te remercie infiniment pour ce travail et j'éspére pour toi une trés bonne continuation dans ta vie .
    tu ma sauvé merci bcp.
    Cordialement ,

    Citation Envoyé par I'm_HERE Voir le message
    salut,

    tu peux essayé ceci après l'avoir adapté pour ton cas:

    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
    29
    30
    @echo off
    setlocal enableDelayedExpansion
    
    pushd %1 || exit /b 9
    set /A n=i=x=0
    for %%a In (*) Do (
        for /f "delims=0123456789" %%b in ("%%~na") Do (
            set "item_!n!=%%~fa/%%b"
            set /A n+=1
          )  	
    )
    popd
    
    if not defined item_0 exit /b 8
    set "f=!item_%i%!"
    set "comp=%f%"
    :nextSection
    set /a x+=1
    echo(DB(%x%): [!f:*/=!]
    :nextItem
    echo(          %f:/=&rem %
    set /A i+=1
    set "f=!item_%i%!"
    if "!f:*/=!"=="!comp:*/=!" goto :nextItem
    set "comp=%f%"
    if %i% LSS %n% goto :nextSection
    
    endlocal
    pause
    exit /b 0
    et l'utiliser ainsi:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    >> countbkp.cmd "C:\Users\bkps"
    
    DB(1): [aaaa]
              C:\Users\bkps\aaaa1.bak
              C:\Users\bkps\aaaa2.bak
              C:\Users\bkps\aaaa3.bak
    DB(2): [bbbb]
              C:\Users\bkps\bbbb1.bak
              C:\Users\bkps\bbbb2.bak
    DB(3): [cccc]
              C:\Users\bkps\cccc1.bak

  7. #7
    Membre chevronné
    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
    Points : 1 991
    Points
    1 991
    Par défaut
    Salut,

    Il ne faut pas oublier sachadee aussi qui t'as donne un code qui marche.

  8. #8
    Membre expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Points : 3 768
    Points
    3 768
    Par défaut
    Merci I'm HERE !

    +1


Discussions similaires

  1. Réponses: 1
    Dernier message: 17/04/2008, 14h58
  2. aider moi dans mon script awk
    Par zcoul dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 17/01/2008, 22h03
  3. Aider mois pour apprendre C++
    Par osma_1978 dans le forum C++
    Réponses: 6
    Dernier message: 25/08/2006, 14h45
  4. Aider moi pour sql server et delphi
    Par aqs dans le forum Bases de données
    Réponses: 6
    Dernier message: 11/06/2005, 21h16

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