Compter une caractère spécifique [BATCH]

Résolu
Vince -  
dubcek Messages postés 18789 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
A voir également:

6 réponses

Vince
 
Sa ne fonctionne pas
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
%%a dans un .bat
0
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
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
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
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
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
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637 > Vince
 
c'est pour ça qu'il faut
echo %%~na >> format.txt
et non pas
echo %%~na > format.txt
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
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