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. 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+
      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. De rien pour le lien ;).
          Pense à mettre [résolu] au sujet du topic.
          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. 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. 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. 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. 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. 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,
                      Hum moi ça ne compte pas dans les autres fichiers dans les sous-répertoire; étrange.

                      @+
                      1. rebonjour

                        oui vous avez raison

                        merciiiiiii infiniment

                        passe une très belle journée Mr