Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
problème avec "underscore"
Auteur Message
Répondre en citant
Message problème avec "underscore" 
bonjour à la communauté de ce joyeux forum . Razz

J'utilise un simple fichier .cmd (sous windows 8.0) pour renommer des fichiers .

La forme des fichiers est la suivante : file6_B.txt, file25_A.txt, etc .... Cool
mon but est de tous les renommer en file0_*.txt .

pour cela, rien de plus simple :

le code qui va (devrait Mr. Green ) aller bien :
Code:
rename file*_*.txt file0_*.txt

dans un fichier "rename.cmd" .

et là, problème avec les fichiers qui ont un chiffre à 2 nombres .... çà donne : file0_B.txt, file0__A.txt .
On constate que l'underscore s'est dupliqué dans le fichier "file0__A.txt" et çà me chagrine beaucoup ! Evil or Very Mad

Ai-je fait une erreur de code ? Embarassed
Quelqu'un peut-il me proposer une solution "simple" ... Okay



Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message problème avec "underscore" 
Salut, le * a en effet du mal si tu mets 2 chiffres, mais ce code est fait pour que ce soit compatible Okay

Code:
FOR /F "tokens=1,2 delims=_" %%1 in ('dir /b *.txt') DO ren %%1_%%2 file0_%%2





______________________________________________________

Répondre en citant
Message problème avec "underscore" 
Merci Ozachi !

C'est beaucoup mieux comme cela, çà fonctionne à merveille . Okay
Pour ma connaissance personnelle, il me reste à comprendre
la subtilité du code ..... Rolling Eyes



Répondre en citant
Message problème avec "underscore" 
Effectivement, désolé, je t'explique ça Mort de Rire
Code:
FOR /F "tokens=1,2 delims=_" %%1 in ('dir /b *.txt') DO ren %%1_%%2 file0_%%2

Donc :


Code:
FOR /F "tokens=1,2 delims=_" %%1 in ('dir /b *.txt')

Bon là on liste tous les txt et on divise en 2 le nom du fichier avec ce qu'il y a avant le _, soit file[chiffre] et l'autre partie [lettre].txt

Code:
DO ren %%1_%%2 file0_%%2

Ici, on renomme le fichier listé dans la boucle FOR (vu qu'on l'a divisé on le restitue en mettant les 2 parties avec le _)
On renomme donc tout simplement le fichier en file0_[lettre].txt !
Donc on met file0 mais on garde la partie [lettre].txt juste après !

C'était dur à expliquer, j'espère que c'est assez compréhensible Laughing




______________________________________________________

Répondre en citant
Message problème avec "underscore" 
Là, çà me parle un peu plus ! Razz
Merci pour ta pédagogie . Idea Idea

@++ Wink



Message problème avec "underscore" 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 1
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch