Compter une caractère spécifique [BATCH]

Résolu
Bonjour,

voila j'ai une ligne:

M:\dossier\hello\test

j'aimerai compter le nombre de "\" et y ajouter 2.

en fait j'ai besoin de cette valeur pr le tokens d'un for qui traite les fichiers de ce dossier par "\". Plus clairement il me faut le 5ème élément de l'URL dans cette exemple.

M:\dossier\hello\test
1 \ 2 \ 3 \ 4 \ 5

Voila mon code pour l'instant:

set localisation= M:\dossier\hello\test
set nbreDossier=5

dir /b /s %location% > chemin.txt

for /f "tokens=%nbreDossier% delims=\" %%i in (chemin.txt) do (
...
)

En fait cela me servirai a rendre mon script dynamique... j'aurai alr un :

set /p localisation=entrer l'emplacement

et la valeur du tokens se calculera toute seul
Configuration: Windows XP
Firefox 3.5.2

6 réponses

  1. Contributeur
    hello
    si tu veux juste le dernier élément, tu peux utiliser %~na:
    $ type zz
    1\2\3\4\5

    $ for /f "delims=\ tokens=*" %a in (zz) do @echo %~na
    5
    1. dir /b /s %location% > chemin.txt
      for /f "tokens=* delims=\" %%a in (chemin.txt) do (
      pause
      echo %%~na > format.txt
      pause

      je n'atteins même pas le premier pause -____-
      1. Contributeur
        il manque ), utiliser >> et on peut supprimer delims=\:
        Dir /b /s %location% > chemin.txt
        for /f "tokens=*" %%a in (chemin.txt) do (
        pause
        echo %%~na >> format.txt
        pause
        )
        1. Waa je viens de me rendre compte d'un truc, ton %%~na me prend le dernier élement, donc si dans mon chemin.txt j'ai:

          M:\hello\h1
          M:\hello\h2
          M:\hello\h3
          M:\hello\h4

          %%~na sera toujours égal à h4 -__- dans ma boucle for.... pas cool tu aurai pas la soluce pour que j'ai au premier passage h1, puis h2,... et pas toujours h4 ?
        2. @VinceEuh non en fait, sry guy c'est bon ton truc marche du tonnere, yavai eu une modif non prévu.... mais tout est bon now thx encore et sry

          ++

          Have a good life
        3. Contributeur
          @Vincec'est pour ça qu'il faut
          echo %%~na >> format.txt
          et non pas
          echo %%~na > format.txt
      2. Euh... en fait je vais paraitre un peu con la mais.... disons que... ta soluce marche depuis le début... c'est juste que j'ai écrit tockens -___- enfin bref resolu now thx so so much

        ++

        Vince