Language du .bat

Résolu
Bonjour,

svp je veux faire un "count" donc compter le nombre de fichiers dans un répertoire avec un language du .bat

merci de me rependre
Configuration: Windows 2000
Firefox 3.0.1

12 réponses

  1. Bonjour,

    En recherchant sur G**gle:

    @echo off
    set répertoire="C:\lenomdetondossier"
    set /a compteurA=0
    set /a compteurB=0
    for /f %%a in ('dir /s /b /a:-d %répertoire%\*.*') do set /a CompteurA+=1
    for /f %%a in ('dir /s /b /a:d %répertoire%\*.*') do set /a CompteurB+=1
    echo %CompteurA% fichiers %compteurB% dossiers
    pause

    Source: http://www.hotline-pc.org/batchscripts.htm#1901

    Bonne journée

    @Toufou: il veut un fichier .bat, mais il ne sait pas comment faire un compteur, donc je pense qu'il n'a pas tord sur la formulation de la question, sinon il faut des cordes bien solide cette fois...
    1. rebonjour

      oui vous avez raison

      merciiiiiii infiniment

      passe une très belle journée Mr
      1. Re,
        Hum moi ça ne compte pas dans les autres fichiers dans les sous-répertoire; étrange.

        @+
        1. oui ca marche très bien merci mais tjrs le mm pro c'est que je veux pas que les fichiers qui existe dans les sous répertoire seront calculés ?? c'est la question
          1. Re,

            @echo off
            set répertoire="C:\Documents and Settings\USER\My Documents\GBA"
            set /a compteurA=0
            set /a compteurA1=0
            set /a compteurB=0
            for /f %%a in ('dir /b /a:-d-h-s %répertoire%\*.txt') do set /a CompteurA+=1
            for /f %%a in ('dir /b /a:-d-h-s %répertoire%\*.doc') do set /a CompteurA1+=1
            for /f %%a in ('dir /s /b /a:d %répertoire%\*.*') do set /a CompteurB+=1
            set /a result = CompteurA + CompteurA1
            echo %result% fichiers %compteurB% dossiers
            pause

            Essaye ça :).
            Normalement ça donne le compte qu'il faut sans prendre en compte les autres résultats ;).

            @+
            1. rebonjour

              est ce que vous comprenez ce que je veux dire donc faire un calcule de nombre de fichiers existe dans le répertoire R1 sans la prise en compte des fichiers existe dans le sous répertoire R2 et donc je dois avoir 3 fichier et non pas 5

              c'est plus claire je crois merci bcp
              1. rebonjour

                ca marche pas toujours j'ai un répertoire R1 dans ce répertoire il y a deux fichiers .doc et un fichier .txt et un répertoire R2 la ou il y a la mm chose deux .doc et un fichier .txt et un

                je veux avoir sur mon ecran comme résultat : " 3 fichiers et 1 répertoire "

                tu peux faire le teste sinon est ce que y'as possibilité de choisir les types de fichiers par extension qu'on souhaite conter

                merci d avance
                1. Ou sinon

                  :calc
                  start calc
                  goto calc
              2. Re,
                Après des tests sous cmd, voici mon résultat:

                for /f %%a in ('dir /b /a:-d-h-s %répertoire%\*.*') do set /a CompteurA+=1

                "-d" = pas de répertoire
                "-h" = pas les fichiers cachés
                "-s" = pas les fichiers systèmes
                et j'ai retiré le "/s" qui regarde dans tous les dossiers ^^

                Source: "dir /?"

                Bonne journée
                1. oui je le ferai

                  mais au fait un problème c'est que le script conte le nombre de fichiers du répertoire ainsi que les sous repertoire pour resoudre ce problème a votre avis je veux avoir que le Nbr de fichiers du repertoire couran

                  merci d avance
                  1. De rien pour le lien ;).
                    Pense à mettre [résolu] au sujet du topic.
                    Bonne journée.
                    1. merci linux

                      si je cherche pas une commande mais un script et ca marché avec celui de mr linux

                      vous pouvez rajouter ca au gents qui cherchent la mm chose ::

                      """""""
                      echo %CompteurA% fichiers %compteurB% dossiers >> "Log.log"
                      start Log.log

                      """""""""
                      pour afficher le resultat ds un fichier au lieu de l avoir sur la mm ligne de comande

                      merci encor une fois pour le lien source
                      1. Salut,

                        tu t'est déjà pendu que tu veuille te rependre, désolé mais c'était trop tentant !

                        Il n'y a pas de commande "batch" qui permettent de compter des fichiers dans un répertoire, seule la commande "dir" te donnera le nombre de fichiers d'un répertoire donné.
                        Toutes les commandes sont içi !

                        Edit :

                        Comme quoi on finit toujours par trouver l'impossible, avec un boucle "for" c'est pas con !

                        A+