[Batch&VB] Renommer liste fichiers via . txt

[Résolu/Fermé]
Signaler
Messages postés
20
Date d'inscription
jeudi 30 octobre 2008
Statut
Membre
Dernière intervention
1 octobre 2010
-
Messages postés
20
Date d'inscription
jeudi 30 octobre 2008
Statut
Membre
Dernière intervention
1 octobre 2010
-
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

2 réponses

Messages postés
965
Date d'inscription
samedi 11 octobre 2008
Statut
Membre
Dernière intervention
29 juillet 2010
376
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
Messages postés
20
Date d'inscription
jeudi 30 octobre 2008
Statut
Membre
Dernière intervention
1 octobre 2010

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