[Batch] Renommer fichiers avec incrémentation
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 -
danieliiitooo Messages postés 20 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Ci-dessous une problématique récurrente (Au vu du nombre de posts disponibles sur les forums) mais dont je ne parviens à trouver de solution.
Pour faire simple:
Dans un répertoire "taaa\" j'ai des fichiers qui viennent s'ajouter par grappes de 5 toutes les 5 minutes.
Leur nom est toujours le même:
"titi_xxx.jpg" ou "xxx" est un chiffre dont la longueur peut varier ( de 1 à 99999...)
Les 5 fichiers ont toujours des xxx qui se suivent
Exemple: titi_123.jpg , titi_124.jpg , titi_125.jpg ....
Le xxx peut être totalement aléatoire. Cela peut aller de 120 à 125, 1250 à 1255 bref cela dépend de l'humeur du serveur qui les génère =)
Je souhaiterai les renommer avec une suite de chiffre qui soit toujours la même: 1,2,3,4,5
En gros, de titi_121.jpg , titi_122.jpg , titi_123.jpg nous aurions après exécution du batch titi_1.jpg, titi_2.jpg...
Mon code est donc:
@echo off
set /a nb_of_files=1
if exist "*.jpg" for /f "delims=" %%a in ('dir /o /b "titi\*.jpg"') do (
rename %%a titi_%nb_of_files%.jpg
set /a nb_of_files+=1
echo %nb_of_files%
)
echo There is %nb_of_files% file(s)
C'est là que les soucis commencent =)
Le batch ne renomme que le premier fichier avec la valeur de la variable "nb_of_files" initiale soit 1. Après il me dit bien entendu que le fichier existe déjà...
Mon echo %nb_of_files% me sort toujours "1" (D'ou le souci cité juste avant)
Mon "echo There is %nb_of_files% file(s)" me sort bien "5".
Donc en gros le compteur s'incrémente bien hors de la boucle mais dans la boucle c'est toujours 1.
Donc impossible de renommer les fichiers de manière correcte.
Si vous avez des idées, je suis preneur.
A noter que j'ai tenté de sortir la partie incrémentation hors de la boucle via un "call" .. En vain c'est toujours 1...
Merci d'avance pour votre aide
Ci-dessous une problématique récurrente (Au vu du nombre de posts disponibles sur les forums) mais dont je ne parviens à trouver de solution.
Pour faire simple:
Dans un répertoire "taaa\" j'ai des fichiers qui viennent s'ajouter par grappes de 5 toutes les 5 minutes.
Leur nom est toujours le même:
"titi_xxx.jpg" ou "xxx" est un chiffre dont la longueur peut varier ( de 1 à 99999...)
Les 5 fichiers ont toujours des xxx qui se suivent
Exemple: titi_123.jpg , titi_124.jpg , titi_125.jpg ....
Le xxx peut être totalement aléatoire. Cela peut aller de 120 à 125, 1250 à 1255 bref cela dépend de l'humeur du serveur qui les génère =)
Je souhaiterai les renommer avec une suite de chiffre qui soit toujours la même: 1,2,3,4,5
En gros, de titi_121.jpg , titi_122.jpg , titi_123.jpg nous aurions après exécution du batch titi_1.jpg, titi_2.jpg...
Mon code est donc:
@echo off
set /a nb_of_files=1
if exist "*.jpg" for /f "delims=" %%a in ('dir /o /b "titi\*.jpg"') do (
rename %%a titi_%nb_of_files%.jpg
set /a nb_of_files+=1
echo %nb_of_files%
)
echo There is %nb_of_files% file(s)
C'est là que les soucis commencent =)
Le batch ne renomme que le premier fichier avec la valeur de la variable "nb_of_files" initiale soit 1. Après il me dit bien entendu que le fichier existe déjà...
Mon echo %nb_of_files% me sort toujours "1" (D'ou le souci cité juste avant)
Mon "echo There is %nb_of_files% file(s)" me sort bien "5".
Donc en gros le compteur s'incrémente bien hors de la boucle mais dans la boucle c'est toujours 1.
Donc impossible de renommer les fichiers de manière correcte.
Si vous avez des idées, je suis preneur.
A noter que j'ai tenté de sortir la partie incrémentation hors de la boucle via un "call" .. En vain c'est toujours 1...
Merci d'avance pour votre aide
A voir également:
- Batch renommer une partie du nom de plusieurs fichiers
- Renommer plusieurs fichiers en même temps - Guide
- Fichier batch - Guide
- Renommer iphone - Guide
- Explorateur de fichiers - Guide
- Comment renommer quelqu'un sur instagram - Guide