BATCH - Découper variable et récup. dernier

Résolu
kelsett Messages postés 376 Statut Membre -  
dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J'ai un nouveau problème en Batch :p

J'ai une variable contenant l'URL d'un fichier que l'utilisateur aura indiqué. Maintenant j'aimerai récupérer seulement le nom de fichier sur cette URL, par exemple sur http://www.site.com/dossier/fichier.txt je souhaiterai pouvoir récupérer seulement fichier.txt ...

Je sais que c'est possible de découper l'adresse avec une boucle FOR et un délimiteur / (slash) mais après pour sélectionner ce que je veux garder il faut que j'indique après quelle slash se trouve ce que je veux récupérer. Seulement comme c'est un utilisateur qui entre l'URL je ne peux pas savoir combien de slashs il y a :)

Alors est ce que vous connaissez une solution pour utiliser la boucle FOR avec délimiteur slash dans l'autre sens ? Que la boucle compte de droite à gauche et que je lui dise de prendre tout avant le premier slash rencontré quoi :)

Merci d'avance ! :)
Configuration: Windows Vista Ultimate 32bit, Mozilla Firefox,  Intel Q6600 @ 3.5GHz et tout le bazar.

2 réponses

  1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
     
    hello
    $ set URL=http://www.site.com/dossier/texte.txt
    $ @echo off
    for %a in ("%URL%") do echo %~nxa
    texte.txt
    1
  2. kelsett Messages postés 376 Statut Membre 62
     
    Bon finalement après recherche j'ai réussi à trouver ceci, qui me retourne le nom et l'extension du fichier :

    @echo off
    
    setlocal
    
    set filePath=http://www.site.com/dossier/texte.txt
    
    call :GETFILEPARTS "%filePath%"
    
    goto :EOF
    
    :GETFILEPARTS
    
    set FileName=%~n1
    set FileExt=%~x1
    
    echo Nom du fichier : %fileName%
    echo Extension : %fileExt%
    
    pause
    
    exit
    


    J'espère que ça pourra servir à d'autres :)
    0