Remplcer les %20 en espace dans les noms de fichiers - Shell/Batch - Programmation
Marsh Posté le 24-09-2006 à 19:53:04
Non, ça n'a rien à voir avec le %.
Regarde l'aide de for pour le parcours une liste de fichiers et celle de set pour le remplacement d'une sous-chaîne de caractères par une autre.
Marsh Posté le 25-09-2006 à 11:18:12
avec bash ou autre shell moderne :
for i in "*%20*"; do mv $i ${i//\%20/_}; done
Marsh Posté le 24-09-2006 à 16:51:51
Les fichiers qui viennent d'internet sont souvent sous la forme :
le%20nom%20du%20fichier.extention
ce qui est bien pratique pour ne pas avoir d'espaces dans le nom de fichier pour internet.
Cependant, le nom est lourd et surtout moins facile à lire dans l'explorateur windows !
D'où l'envie de renomer en masse ces fichiers avec un batch.
Première idée, le code suivant :
ren *%20* "* *"
//ou bien :
ren *%20* *_*
pour remplacer les "%20" par des espaces ou des tirets bas (_).
Mais le code ne marche pas, certainement à cause du caractère %...
Si quelqu'un sait pourquoi ce code ne marche pas ou/et comment résoudre ce problème, votre post est le bienvenu !!!