Remplcer les %20 en espace dans les noms de fichiers

Remplcer les %20 en espace dans les noms de fichiers - Shell/Batch - Programmation

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 !!!

Reply

Marsh Posté le 24-09-2006 à 16:51:51   

Reply

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.

Reply

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

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed