Contar un carácter específico [BATCH]

Resuelto
Vince -  
dubcek Mensajes publicados 18627 Fecha de registro   Estado Colaborador Última intervención   -
Bonjour,

aquí tengo una línea:

M:\dossier\hello\test

me gustaría contar el número de "\" y añadirle 2.

de hecho, necesito este valor para los tokens de un for que procesa los archivos de este directorio por "\". Más claramente, necesito el 5º elemento de la URL en este ejemplo.

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

Aquí está mi código por ahora:

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 (
...
)

De hecho, esto me serviría para hacer mi script dinámico... ya tendría un:

set /p localisation= ingresar la ubicación

y el valor de los tokens se calcularía por sí solo
Configuración: Windows XP Firefox 3.5.2

6 respuestas

  1. dubcek Mensajes publicados 18627 Fecha de registro   Estado Colaborador Última intervención   5 660
     
    %%a in a .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

    no logro ni siquiera llegar al primer pause -____-
    0
  3. dubcek Mensajes publicados 18627 Fecha de registro   Estado Colaborador Última intervención   5 660
     
    falta ), usar >> y se puede eliminar 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 me acabo de dar cuenta de una cosa, tu %%~na toma el último elemento, así que si en mi camino.txt tengo:

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


      %%~na siempre será igual a h4 -__- en mi bucle for... no es genial, ¿no tendrás la solución para que en el primer paso tenga h1, luego h2,... y no siempre h4?
      0
      1. Vince > Vince
         
        Euh non en fait, désolé mec c'est bon, ton truc marche du tonnerre, il y avait eu une modif non prévue... mais tout est bon maintenant, merci encore et désolé

        ++

        Bonne vie
        0
      2. dubcek Mensajes publicados 18627 Fecha de registro   Estado Colaborador Última intervención   5 660 > Vince
         
        es por eso que hay que
        echo %%~na >> format.txt
        y no
        echo %%~na > format.txt
        0
  4. Vince
     
    Euh... en fait je vais paraître un peu con là, mais... disons que... ta solution marche depuis le début... c'est juste que j'ai écrit tockens -___- enfin bref résolu maintenant merci beaucoup

    ++

    Vince
    0
  5. dubcek Mensajes publicados 18627 Fecha de registro   Estado Colaborador Última intervención   5 660
     
    hola
    si solo quieres el último elemento, puedes usar %~na:
    $ type zz
    1\2\3\4\5

    $ for /f "delims=\ tokens=*" %a in (zz) do @echo %~na
    5
    -1