[Batch] remplacer des strings dans des noms de fichier

remplacer des strings dans des noms de fichier [Batch] - Shell/Batch - Programmation

Marsh Posté le 19-07-2007 à 15:32:03    

Bonjour, j'aurai besoin d'un peu d'aide pour un script batch. je veux, que dans le dossier où se trouve mon script, tous occurences d'une chaine particulière soit remplacée par une autre chaîne dans les noms de fichier:
ex :
fichier123toto456.bmp  --> fichier toto.bmp
fichier123milou456.bmp  --> fichier milou.bmp
 
(dans ce cas, la chaîne 123 est remplacée par un espace, et la chaine 456 est remplacée par une chaîne vide).  
J'ai déjà regardé la boucle for pour ce qui est du parcours des fichiers, mais j'avoue que je n'ai pas forcément bien saisi.
 
 
Merci de votre aide ;)

Reply

Marsh Posté le 19-07-2007 à 15:32:03   

Reply

Marsh Posté le 19-07-2007 à 16:23:46    

C est sous quel os ? quel type de shell ?
 

Reply

Marsh Posté le 20-07-2007 à 09:00:15    

C'est sous winXP pro...
et c'est du batch...

Reply

Marsh Posté le 20-07-2007 à 09:33:55    

ha j ai jamais fait de script en shell windows... Mais si les commandes gere les expressions regulieres ca devrait etre pas chiant a faire

Reply

Marsh Posté le 20-07-2007 à 14:09:29    

merci quand même oreste. Quelqun peut m'aider svp ?

Reply

Marsh Posté le 23-07-2007 à 09:08:36    

up !

Reply

Marsh Posté le 10-10-2007 à 16:48:44    

Voci:

Code :
  1. for /r "C:\chemin\du\répertoire\contenant\les\fichiers\" %%i in (*.bmp) do set VrChmFch=%%i& set VrNamFch=%%~nxi& call :trait
  2. goto suit
  3. :trait
  4. set VrNamFch=%VrNamFch:123= %
  5. set VrNamFch=%VrNamFch:456= %
  6. ren "%VrChmFch%" "%VrNamFch%"
  7. :suit

Reply

Sujets relatifs:

Leave a Replay

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