Forum Programmation.autre copier des fichiers suivant une chaine de caractère

Posté par  .
Étiquettes : aucune
0
6
nov.
2006
Salutations

Je télécharge tous les jours des fichiers sur le net.
Le site me donne des fichiers sous ce format la:

index.php?action=downloadfile&filename=DM_2[1][1].07e_Modified_TM1500CI_TM1000CI_031106_by RT AES w45.zip&directory=2006/2006-11/2006-11-05&

Je voudrais extraire le nom réel du fichier et de son répertoire qui est nommé dans son nom de téléchargement.
Et après la recherche du vrai mon du fichier, le copier dans son vrai répertoire avec son vrai nom et non
Le nom du téléchargement.

Pour la recherche, je retrouve son nom réel qui se trouve sous la forme d'un texte placer après le filename= et son répertoire qui
se trouve après directory=.
exemple sur le nom d'un fichier télécharger.

index.php?action=downloadfile&filename=DM_2[1][1].07e_Modified_TM1500CI_TM1000CI_031106_by RT AES w45.zip&directory=2006/2006-11/2006-11-05&

Le nom réel du fichier se trouve après filename=DM_2[1][1].07e_Modified_TM1500CI_TM1000CI_031106_by RT AES w45.zip
et le répertoire se trouve après directory=2006/2006-11/2006-11-05

Tous ça se trouve dans le nom du fichier qui a été téléchargé.
Donc je voudrais recopier ce fichier qui s'appelle index.php?action=downloadfile&filename=DM_2[1][1].07e_Modified_TM1500CI_TM1000CI_031106_by RT AES w45.zip&directory=2006/2006-11/2006-11-05&
dans le répertoire /2006/2006-11/2006-11-05/DM_2[1][1].07e_Modified_TM1500CI_TM1000CI_031106_by RT AES w45.zip
Et ça pour tous les fichier de mon répertoire de téléchargement.

Pouvez-vous m'aider SVP.
Merci.
@+
  • # slash dans un nom de fichier ???

    Posté par  . Évalué à 1.

    J'ai pas un nunux sous la main là, mais un fichier dont le nom contient des slash ... c'est possible ????

    Autre question: c'est url-encodé ou pas ?
    • [^] # Re: slash dans un nom de fichier ???

      Posté par  . Évalué à 1.

      Salutations
      Pour ce qu'il est les slash, en faite c'est des % à la place.
      Mais si je n'ai pas le répertoire se n'est pas trop génant.
      Je peut le créer à la date du jour lors du traitement.
      Par contre c'est le nom réel du fichier qui m'interresse.
      Il faudrait supprimer les caractères jusqu'au filename= et reprendre la suppression à partir de &directory= jusqu' a la fin.
      Le fichier n'est pas encodé, une fois renomé, il est utilisable.
      En fait il vient du page WEB et ce site le sauvegarde sous cette forme. Lorsque l'on télécharge en individuel le fichier avec le navigateur, il fait cette opération. Mais comme je télécharge ce site avec wget, il m'arrive sous cette forme.

      @+
      • [^] # Re: slash dans un nom de fichier ???

        Posté par  . Évalué à 1.

        Il faudrait supprimer les caractères jusqu'au filename= et reprendre la suppression à partir de &directory= jusqu' a la fin.

        sed -e 's/.*filename=\([^\&]*\).*/\1/'
        • [^] # Re: slash dans un nom de fichier ???

          Posté par  . Évalué à 1.

          Salutations

          Sa fonctionne, mais pas sur tous les fichiers.
          Il y a certains fichiers qui ont des & dedans.
          Donc le nom n'est pas complet.
          J'ai essayé sa :
          sed -e 's/.*filename=\([^\].*directory=\).*/\1/'
          mais je me retouve à la fin avec &directory

          exemple:
          pixel.txt&directory au lieu de pixel.txt.
          Je n'arrive pas à supprimer le &directory.

          @+

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.