[Batch&VB] Renommer liste fichiers via . txt

Résolu
danieliiitooo Messages postés 20 Date d'inscription   Statut Membre Dernière intervention   -  
danieliiitooo Messages postés 20 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à toutes et à tous,

Pouvez-vous me dire s'il est possible de réaliser l’opération suivante via utilisation d’un batch? (Ou autre: Vbs...)

1. Dans le répertoire D:\input\ se trouve une liste de fichiers PDF nommés par références. (L’ordre n’est pas obligatoirement croissant)

Exemple:

c0001.pdf
c0002.pdf
c0003.pdf
c0004.pdf
...


2. Pour chacune de ces références, correspond une autre référence.

La correspondance se trouve dans un fichier .txt (ou .csv ou xml selon le choix) démuni d’extension.
(On va dire stocké à l’emplacement D:\table_references\)

Exemple contenu fichier concerné:

c0001 ,x00024 ,
c0002 ,x00002 ,
c0003 ,x00032 ,
c0004 ,x0005 ,

Les deux références sont séparées par une virgule, un point virgule ou n’importe quel séparateur de notre choix (dans le type .csv)

Un batch (ou autre forme de script...) peut-il ?

Pour chaque fichier PDF,

- Copier la référence initiale (Exemple : c0001),
- ouvrir le fichier .txt
- Rechercher la référence initiale dans la liste ( c0001)
- Copier la référence correspondante (Dans notre cas x00024)
- Renommer le fichier PDF avec la référence correspondante. (Dans un autre répertoire ou dans le répertoire initial)

Cela donnant au final:

c0001.pdf => x00024.pdf
c0002.pdf => x00002.pdf
c0003.pdf => x00032.pdf
c0004.pdf => x0005.pdf

Merci d avance pour votre aide.

Daniel
A voir également:

2 réponses

chuka Messages postés 965 Date d'inscription   Statut Membre Dernière intervention   378
 
Salut,
essaye cela:
for /F "tokens=1-2 delims=, " %%a in (D:\table_references\blabla.txt) do copy Repertoire_Initial\%%a.pdf Ton_Repertoire_final\%%b.pdf
@+
PS:blbla.txt c'est ton fichier de comparaison
0
danieliiitooo Messages postés 20 Date d'inscription   Statut Membre Dernière intervention   1
 
Là je dis un grand respect !

Une commande "For" et le tour est joué...

Tu ne peux pas savoir l'épine du pieds que tu m'enlèves.

Un grand grand merci à toi Chuka !

@+

Daniel
0