Compter une caractère spécifique [BATCH]

Résolu
Vince -  
dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   -
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. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    %%a dans un .bat
    0
  2. Vince
     
    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 -____-
    0
  3. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    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
    )
    0
    1. Vince
       
      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 ?
      0
      1. Vince > Vince
         
        Euh 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
        0
      2. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660 > Vince
         
        c'est pour ça qu'il faut
        echo %%~na >> format.txt
        et non pas
        echo %%~na > format.txt
        0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. Vince
     
    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
    0
  6. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    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