Renommer automatiquement des nouveaux fichiers ajoutés à un dossier

Signaler
Messages postés
9
Date d'inscription
vendredi 23 août 2019
Statut
Membre
Dernière intervention
16 janvier 2021
-
Messages postés
13181
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
20 janvier 2021
-
Bonjour,

Je cherche un moyen de renommer et changer l'extension automatiquement de plusieurs fichiers quand je les ajoute à un certain dossier.

Par exemple, j'ai un dossier photos avec déjà 1348 photos dedans et nommées de 0001 à 1348. Demain, j'ajoute 100 nouvelles photos. Je voudrais donc, que par magie ces 100 nouvelles photos se renomment à partir de 1349 et avec une incrémentation de 1. Et le lendemain, même chose, les fichiers doivent se renommer à partir du fichier ayant le nombre le plus grand plus un.
De plus, ces fichiers viennent de temps en temps avec des mauvaises extensions, et il faudrait donc changer l'extension des ces 100 nouveaux fichiers.

Je sais déjà parfaitement faire tout ça avec Ant Renamer, mais cela fait une vingtaine d'opération chaque jours et je trouve cela fatiguant d'ajouter, énumérer, changer l'extension et supprimer les fichiers ayant subits l'opération, puis recommencer ça une dizaine de fois et chaque jours, pour dix dossiers différents.

J'avais penser à des programmes en Python ou en batch, mais je n'ai pas les connaissances nécessaires.

Il faut noter que le changement de nom des fichier peut s'effectuer une fois par jour ou par semaine soit automatiquement, ou alors par l'exécution d'un programme.
Autre chose, dans les nouveaux fichiers il n'y a pas d'ordre à respecter pour l'énumération. Cependant, l'énumération déjà présente doit être gardée.

2 réponses

Messages postés
13181
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
20 janvier 2021
4 059
Bonjour,

Je peux t'aider, c'est plutôt simple à réaliser en batch.

Cependant il me faut tous les renseignements :

- nom d'un fichier de départ et nom d'un fichier à l'arrivée (hors numérotation)
- nom et emplacement des dix dossiers à traiter
- nom et emplacement du dossier photos
- quels sont les "mauvaises extensions" à modifier ?



“L'intelligence artificielle se définit comme le contraire de la bêtise naturelle.”
Messages postés
9
Date d'inscription
vendredi 23 août 2019
Statut
Membre
Dernière intervention
16 janvier 2021

Bonjour,

- Les fichiers viennent tous de: D:\Users\jules\Images\Test\Général ;

- Pour être rangés dans :

D:\Users\jules\Images\Test\A ;
D:\Users\jules\Images\Test\B ;
D:\Users\jules\Images\Test\C ;
D:\Users\jules\Images\Test\D ;
D:\Users\jules\Images\Test\E ;

- Pour les extensions, il faut simplement renommer chaque fichiers, quelque soit l'extension en X.jpg, où X désigne le numéro

Il me faut en réalité 2 changements de nom de fichier.

1 - Dans le dossier général où les fichiers seraient renommés par Y.jpg, où Y désigne un nombre, commençant à 1 et avec une incrémentation de 1. Cette action me sert à pouvoir prévisualiser les images en changeant l'extension.
Ensuite, je fais une sélection visuelle pour déplacer ces images soit dans le dossier A, B, C...

2 - Dans les dossier A, B, C les fichiers se renomment en X (sans changement de l'extension) où X désigne encore un fois un numéro, mais qui commence à partir du plus petit déjà présent dans ce même dossier.

Concernant les "mauvaises extensions", l'explorateur Windows m'indique seulement qu'il s'agit du type "Fichier", et le nom ne comporte pas d'extension.

- À l'arrivée, le nom de l'image doit être seulement nombre.jpg
Messages postés
13181
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
20 janvier 2021
4 059 >
Messages postés
9
Date d'inscription
vendredi 23 août 2019
Statut
Membre
Dernière intervention
16 janvier 2021

Merci pour ces précisions mais je fais comment pour faire une sélection visuelle ?

... mais qui commence à partir du plus petit déjà présent dans ce même dossier.
==>> donc ça commencera toujours à 0 ou à 1, comment éviter les doublons à la prochaine exécution du script ?
Messages postés
9
Date d'inscription
vendredi 23 août 2019
Statut
Membre
Dernière intervention
16 janvier 2021
>
Messages postés
13181
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
20 janvier 2021

Bonjour,

Je fais moi-même la sélection visuelle. Ainsi, je prends certaines images, selon mes critères, présentes dans le dossier général pour les envoyer dans le bon dossier A, B ou C...

Pour simplifier les choses, je vais moi-même me charger de la première étape, du premier tiret dans mon message précédent. Je vais moi-même changer l'extension avec Ant Renamer. Ce n'est pas une action fastidieuse à faire.

Nous allons traiter un exemple.

Il y a dans mon dossier A 15 images nommées de 0001 à 0015.
Je place maintenant 5 images supplémentaire avec un nom quelconque dans ce dossier A (ces images provenant du dossier général et avec la bonne extension). Ces 5 nouvelles images doivent donc se renommer en 0016 , 0017 , 0018 , 0019 , et 0020 . 0015 est donc ce que j'appelle le chiffre le plus grand déjà présent dans ce même dossier. Ce chiffre est donc après l'exécution du script 0020.
Ainsi, si demain je rajoute 3 nouvelles images dans le dossier A, ces 3 nouvelles images devront être renommées en 0021 , 0022 et 0023.
Mon dossier A sera donc demain composé de 23 images nommées de 0001 à 0023 .

Ensuite, il y a le dossier B qui est composé déjà de 57 images par exemple. J'y ajoute 5 nouvelles images qui se renomment alors 0058 , 0059 , 0060 , 0061 , 0062 . Puis demain je lui rajoute aucune image. Mais après demain j'y dépose 2 images qui doivent alors se renommer 0063 et 0064 .

Je viens de remarquer, j'ai confondu petit et grand.
Messages postés
13181
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
20 janvier 2021
4 059
J'ai terminé la première partie :

@echo off
color 0A
setlocal enableDelayedExpansion
ver | find "10.0." >nul && chcp 65001 >nul || chcp 28591 >nul

cd /d D:\Users\jules\Images\Test\Général || exit /b 1

set "index="

for /f "delims=" %%A in ('2^>nul dir /b /on /a-d ^| findstr /r "\<[0-9][0-9][0-9][0-9]\>"') do set "index=%%~nA"

if not defined index (set index=0)

title Index : !index!

for /f "delims=" %%A in ('2^>nul dir /b /a-d ^| findstr /v /r "\<[0-9][0-9][0-9][0-9]\>"') do (

	set /a index+=1
	set increment=000!index!
	set increment=!increment:~-4!
	ren "%%~fA" "!increment!.jpg" 

)

pause
exit



“L'intelligence artificielle se définit comme le contraire de la bêtise naturelle.”