Jump to content
katmars

FTP problème de transfert de fichiers contenant "%5C" dans leur nom

Rate this topic

Recommended Posts

Bonjour,

J'ai besoin de récupérer une archive sur un serveur dont un grand nombre de fichiers contient les caractères "%5C" (ie. backslash) dans leur nom. Les logiciels FTP utilisés (winscp sous windows ou gftp sous ubuntu) génèrent des erreurs et ne sont pas capables de rapatrier ces fichiers sur mon PC.

Avez-vous une solution (astuce) pour contourner le problème ?

A noter :

Je ne peux pas me connecter en SFTP sur le serveur

Je ne peux pas changer les noms des fichiers sur le serveur

D'avance merci de votre aide,

Sylvain

Share this post


Link to post
Share on other sites

Ça aiderait si tu nous disais quelle est l'erreur que tu obtiens dans chaque cas. Le nom du fichier contient vraiment "%5C" ou vraiment backslash? Il n'y a pas de raison a priori qu'un client FTP décode des noms comme ça, donc j'ai tendance à penser qu'il s'agit réellement d'un backslash, non?

Dans ce cas, il peut y avoir plusieurs problèmes:

- sous Windows, \ est le séparateur dans un chemin d'accès à un fichier. Il faut donc utiliser un autre nom local (la plupart des clients FTP permettent d'indiquer le nom du fichier distant et le nom du fichier dans lequel on veut sauvegarder ça, le nom distant n'étant que la valeur par défaut)

- si tu passes le nom du fichier en ligne de commande, le \ sert normalement à "échapper" certains caractères spéciaux. Il convient donc de l'échapper lui-même (i.e. \\ au lieu de \) et/ou de mettre l'argument entre ' pour éviter qu'il ne soit interprété comme tel (tout dépend du shell utilisé).

- dans certains cas, il peut y avoir en fait plusieurs niveaux qui vont avoir du mal avec le \, ce qui peut aboutir à des \\\\ voire \\\\\\\\...

Si ce n'est pas ça, il va falloir nous donner plus de détails, en particulier les noms réels des fichiers et les erreurs obtenues...

Jacques.

Share this post


Link to post
Share on other sites

Bonjour Jacques,

Tu as raison, les noms des fichiers posant problème sur le serveur sont du type : "L\'oiseau n\'est pas ici.zip". Est-ce qu'il y a des fonctions dans les logiciels FTP (winscp, gftp) pour "modifier à la volée" ces caractères interdits ?

Bonne journée,

Sylvain

Share this post


Link to post
Share on other sites

Bonjour Sylvain,

Tu n'as pas d'accès ssh au serveur ? Si c'était tout de même le cas et sans supprimer les fichiers, tu pourrais créer une archive tar comprenant tous ces fichiers, et lui donner le nom que tu souhaites.

Ensuite tu pourrais télécharger cette archive par ftp sans difficulté aucune.

Il est vrai qu'un nom de fichier tel que "L\'oiseau n\'est pas ici.zip" n'est pas très confortable pour Linux, ni pour Windows d'ailleurs.

Par contre, tu aurais des difficultés pour extraire l'archive en local, vu que les noms de fichiers contiennent des caractères non autorisés sous Windows.

Share this post


Link to post
Share on other sites

Euh... Tu es même sûr qu'il y a bien des \ dans les noms des fichiers, et que ce ne sont pas carrément les ' qui sont échappés par "quelque chose" (serveur ou client FTP)? Ceci dit, si c'était le cas, les espaces seraient probablement échappés aussi...

Quoi qu'il arrive, tu as plusieurs options:

- tu peux renommer les fichiers sur le serveur via FTP (via la commande "rename"), si tu as les droits qui conviennent pour le faire

- tu peux utiliser la syntaxe ou la fonction permettant de spécifier le nom local à utiliser

Dans les deux cas, tu vas probablement devoir trouver la bonne combinaison d'échappement (avec des \) et de quoting.

Un client FTP avec une UI devrait gérer tout ça tout seul pour toi (il doit juste falloir faire un clic-droit sur le fichier pour spécifier le nom local). Sur un client en ligne de commande, certains intègrent l'auto-complétion, et s'il la font correctement, ils échapperont ce qu'il faut comme il faut.

Tu peux aussi utiliser des wildcards... "L*ici.zip" par exemple.

Jacques.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...