INCREMENTER UN NOM DE FICHIER EN BATCH
Résolu
mahora_34070
Messages postés
3
Statut
Membre
-
mahora_34070 Messages postés 3 Statut Membre -
mahora_34070 Messages postés 3 Statut Membre -
Bonjour,
Je souhaite renommer le nom de mes fichiers récupérés à partir du scan d'un photocopieur en incrémentant une partie du nom de la façon suivante :
AAAA-xxxxxxxxxx.pdf où xxxxxxxxxxx est aléatoire (date et heure système)
pour obtenir :
AAAA-00001.pdf - AAAA-00002.pdf
...
AAAA-00099.pdf - AAAA-00100.pdf
...
AAAA-00999.pdf - AAAA-01000.pdf - AAAA-01001.pdf
etc...
En fait lorsque je récupère les fichiers scannés, j'ai une procédure qui doit se lancer toutes les 5mn en renommant les nouveaux fichiers arrivés à partir du dernier numéro affecté.
Je récupère bien le dernier numéro de fichier, je scinde le nom du fichier original en plusieurs parties, j'isole la partie numérique que je dois incrémenter en la convertissant en numérique, je sais l'incrémenter, je concatène toutes variables pour former le nouveau nom de mon fichier, mais lorsque je lance ma boucle pour renommer mes fichiers, la ligne ""rename" perd sa syntaxe et devient
rename *.pdf
au lieu de
rename *.pdf "contenu de ma variable"
Voici la boucle qui me pose problème :
setlocal enableDelayedExpansion
FOR /L %%N IN (%prem%,1,%nbFic%) do (
set VarF=%N_F%%tot2%%%N%ext%
rename *.pdf %VarF%
pause
)
En fait la commande "rename" ne fonctionne que si je suis en dehors de la boucle.
Quelqu'un aurait une idée ?
Merci d'avance.
Je souhaite renommer le nom de mes fichiers récupérés à partir du scan d'un photocopieur en incrémentant une partie du nom de la façon suivante :
AAAA-xxxxxxxxxx.pdf où xxxxxxxxxxx est aléatoire (date et heure système)
pour obtenir :
AAAA-00001.pdf - AAAA-00002.pdf
...
AAAA-00099.pdf - AAAA-00100.pdf
...
AAAA-00999.pdf - AAAA-01000.pdf - AAAA-01001.pdf
etc...
En fait lorsque je récupère les fichiers scannés, j'ai une procédure qui doit se lancer toutes les 5mn en renommant les nouveaux fichiers arrivés à partir du dernier numéro affecté.
Je récupère bien le dernier numéro de fichier, je scinde le nom du fichier original en plusieurs parties, j'isole la partie numérique que je dois incrémenter en la convertissant en numérique, je sais l'incrémenter, je concatène toutes variables pour former le nouveau nom de mon fichier, mais lorsque je lance ma boucle pour renommer mes fichiers, la ligne ""rename" perd sa syntaxe et devient
rename *.pdf
au lieu de
rename *.pdf "contenu de ma variable"
Voici la boucle qui me pose problème :
setlocal enableDelayedExpansion
FOR /L %%N IN (%prem%,1,%nbFic%) do (
set VarF=%N_F%%tot2%%%N%ext%
rename *.pdf %VarF%
pause
)
En fait la commande "rename" ne fonctionne que si je suis en dehors de la boucle.
Quelqu'un aurait une idée ?
Merci d'avance.
A voir également:
- Renommer plusieurs fichiers incrémentation
- Renommer plusieurs fichiers en même temps - Guide
- Renommer iphone - Guide
- Fichiers epub - Guide
- Comment renommer quelqu'un sur instagram - Guide
- Renommer un lien hypertexte ✓ - Forum Bureautique
3 réponses
Bonjour,
Merci d'utiliser les balises de code quand tu postes du code.
Pour revenir à ton problème, la variable VarF se trouve dans le bloc de la boucle FOR, elle doit donc être retardée comme ceci :
Pourquoi utiliser un wildcard dans ta commande RENAME ? Je ne pense pas que tu aboutisses au résultat escompté.
Merci d'utiliser les balises de code quand tu postes du code.
Pour revenir à ton problème, la variable VarF se trouve dans le bloc de la boucle FOR, elle doit donc être retardée comme ceci :
rename *.pdf !VarF!
Pourquoi utiliser un wildcard dans ta commande RENAME ? Je ne pense pas que tu aboutisses au résultat escompté.
Bonjour barnabe0057,
Désolé, c'est la 1e fois que je poste sur un forum, j'en prends bonne note.
Merci beaucoup pour ta réponse, cela fonctionne vraiment bien !
Je me doutais bien qu'il s'agissait d'un problème de ce type.
Pour le wildcrad, c'est la seule solution que j'ai trouvé, mais s'il en existe une plus rigoureuse, je suis preneur.
Désolé, c'est la 1e fois que je poste sur un forum, j'en prends bonne note.
Merci beaucoup pour ta réponse, cela fonctionne vraiment bien !
Je me doutais bien qu'il s'agissait d'un problème de ce type.
Pour le wildcrad, c'est la seule solution que j'ai trouvé, mais s'il en existe une plus rigoureuse, je suis preneur.