Renommer dans un repertoire

BenBeer -  
nagaD.scar Messages postés 4272 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous
Je trouve souvent les réponses à mes questions sur ce forum, mais là cette fois-ci non. Alors je pose ma problématique.
Dans un répertoire, les fichiers ont été sauvés avec une structure de nom ne nous convenant plus.
Actuellement le nom du fichier est
"chaîne de caractères A" & espace & "chaîne de caractères B" & espace & "chaine C.extension"
exemple: D3473 4756A latte.pdf
je voudrais permuter chaine A et chaine B
l'exemple deviendrait
4756A D3473 latte.pdf

Je pense que c'est tout bête, mais je sais pas faire. Help me.
Merci
A voir également:

1 réponse

nagaD.scar Messages postés 4272 Date d'inscription   Statut Membre Dernière intervention   252
 
Salut,

Tu voudrai le faire dans quel langage?

naga
0
nagaD.scar Messages postés 4272 Date d'inscription   Statut Membre Dernière intervention   252
 
Bon je me suis amusé à le faire en batch, au moins tant que t es sous windows ca sera bon:


@echo off

for /f "delims=" %%a in ('dir *.pdf /b') do call :cmd "%%a"
pause
exit
:cmd
set fichierbck=%~1
set fichier=%fichierbck: =%

for /f "tokens=1,2,3 delims= " %%a in ("%fichierbck%") do set p1=%%a&set p2=%%b&set p3=%%c



set fichier=%p2% %p1% %p3%
echo %fichier% : %fichierbck%

rename "%fichierbck%" "%fichier%"





crée un fichier .bat dans le repertoire ou tu veux faire les changement, double click dessus et ca fera les changements.

naga
0
BenBeer > nagaD.scar Messages postés 4272 Date d'inscription   Statut Membre Dernière intervention  
 
Merci de ta réponse Naga. ça marche ... presque. Sauf:
- je n'ai plus les extensions
- le reste du nom du fichier (chaine C) peut être constitué de plusieurs mots qui sont partis
- je n'ai pas que des pdf à traiter (doc; pdf; ipt; txt; ...) mais tous sur la même structure.

En fait pour tout vous dire:
chaine A c'est une désignation de plan
Chaine B c'est la référence de la pièce concernée par ce plan
chaine C c'est le reste: descriptions/applications/conditions... de 1 à plusieurs mots, donc 1 à plusieurs espace
0
BenBeer > BenBeer
 
J'ai analysé ton pgm. pour ce que j'en ai compris, je l'ai modifié en
"
@echo off

for /f "delims=" %%a in ('dir * /b') do call :cmd "%%a"
pause
exit
:cmd
set fichierbck=%~1
set fichier=%fichierbck: =%

for /f "tokens=1,2* delims= " %%a in ("%fichierbck%") do set p1=%%a&set p2=%%b&set p3=%%c



set fichier=%p2% %p1% %p3%
echo %fichier% : %fichierbck%

rename "%fichierbck%" "%fichier%"

Ca a l'air de fonctionner correctement, en tout cas dans le répertoire test que j'ai fait. Il me change mon fichier bat, normal mais pas grave.
0
nagaD.scar Messages postés 4272 Date d'inscription   Statut Membre Dernière intervention   252
 
Ok je commencais justement à regarder si on pouvait comme ca (j ai pas l habitude de taffer en bat).
0